草庐IT

Constraints

全部标签

ios - 约束不适用于 UITextView

我有一个ViewController,其中的View有两个ImageView和两个TextView。我关闭了自动布局,并使用以下代码以编程方式设置第一个TextView和第一个ImageView之间的距离:以下代码位于我的自定义ViewController类的viewDidLoad方法中。在这两种情况下,我都将自动调整掩码设置为no,所以我不知道为什么代码不起作用。(tf2_logo是ImageView,itemName是TextView)self.tf2_logo.translatesAutoresizingMaskIntoConstraints=NO;[self.backpackB

ios - 按钮与预期的 iO​​S Autolayout 不完全相同

我正在尝试制作“两个等宽按钮”,如AppleAutoLayoutGuide中所述。https://developer.apple.com/library/archive/documentation/UserExperience/Conceptual/AutolayoutPG/ViewswithIntrinsicContentSize.html#//apple_ref/doc/uid/TP40010853-CH13-SW1它在界面生成器(Main.storyboard)的预览中看起来不错。但是当我尝试更改设备时,我发现某些设备上的宽度不同。我该如何解决?如何使用约束或其他技术使所有设备的

ios - 如何根据设备屏幕尺寸转换框架?

我正在开发一个动态应用程序,在该应用程序中,我为View内的每个UI对象分别从Web服务获取CGRect(x、y、宽度、高度)值。在服务器上,他们将根据以下大小(1080x1920)设置帧,所以假设,如果我将获得具有以下值的CGRect:(200,20,100,100)那么它应该根据设备大小和服务器指定的大小适合设备。SowithcaseofiPhone5-newframewillbesame200,20,100,100.SowithcaseofiPhone6(375x667)-newframewillbe?SowithcaseofiPhone6+(414x736)-newframew

ios - 当我 NSLog myBtn.constraints 时记录额外的约束

我在View中有一个按钮。我在界面生成器中为我的按钮设置了图像。我在界面生成器中添加到我的按钮的约束是:superView的右侧空间=10superView的顶部空间=10父View的底部空间>=10标签的剩余空间>=10一切正常,我的布局没有问题。但是当我用这段代码记录按钮约束时:NSLog(@"constraintsforbtnBackis:%@",self.btnBack.constraints);控制台日志:constraintsforbtnBackis:("""")我知道顶部、左侧、右侧和底部的约束不应该在这里记录,因为它们是父View约束而不是按钮约束。但在这里我没有为我的

iphone - 将 NSLayoutConstraints 应用于 UIView 子类

我之前尝试过在IB中使用AutoLayout约束,我了解它们的工作原理以及它们需要明确等...但是当您有多个View时,它会变得有点复杂并且容易崩溃。因此,我刚刚阅读了一篇博客,其中介绍了一个人遇到了同样的问题并使用ASCII代码来创建约束。我有一个带有自定义UITableViewCell的UITableView,它具有基于内容量的动态大小。自动布局的完美候选者。因此,我尝试了多种方法,现在我减少了内容,以便单元格中只有一个标签。如果标签填充周围有边框的单元格,我会想要什么。即标准尺寸点从单元格的每个边缘进入。我是这样做的...-(id)initWithStyle:(UITableVi

iphone - 向 UITableVIew headerview 添加约束

所以我是新手。我有一个nib文件,其中包含多个兄弟View。ViewController的View包含一个tableView,我有另一个View将被添加到tableHeaderView(我们称之为self.tableHeaderView)。我面临的问题是我想根据特定条件调整self.tableHeaderView的大小。我已经为所有UI元素添加了约束,但无论出于何种原因,我都无法通过Nib向self.tableHeaderView添加高度约束。我尝试以编程方式更改self.tableHeaderView的框架,但是当我在模拟器中运行代码时这没有任何效果,这是有道理的,因为如果我使用自动

ios - sizeThatFits on view with constraints (auto layout view inside frame layout view)

通过在layoutSubviews中计算和设置它们的框架来查看其subview的布局。ViewB使用约束来布局它的subview。ViewA包含多个ViewB实例。ViewA在布局subview时需要知道其subview的大小,因此它在它们上调用sizeThatFits:。ViewB的高度取决于它的宽度。在我的示例中,它内部有一个多行UILabel。B应该如何实现它的sizeThatFits:以便它返回正确的大小,同时将size参数传递给sizeThatFits:和帐户中的约束条件?到目前为止我已经尝试/考虑过的:systemLayoutSizeFittingSize:-不起作用,因为

ios - 自动布局 UIScrollView 约束奇怪的行为

我已经在这里阅读了iOS6发行说明和一些与Autolayout+UIScrollview相关的主题,但是我有一个奇怪的错误我不知道如何解决。View的层次结构是:-View--UIScrollView----UIImageView----UILabel我通过InterfaceBuilder在View中添加元素,启用自动布局并保留默认约束。我的标签有一个动态文本,它的高度是可扩展的(在IB中配置的行数=0)。我希望ScrollView自动适应ImageView+标签的高度。下面是关联的ViewController类的代码:-(void)viewDidLoad{[superviewDidL

iphone - 为什么这个自动布局规范不够用?

我试图摆脱InterfaceBuilder中那些烦人的警告,但我不明白它在提示什么(所有InterfaceBuilder,没有代码):我已经指定了一个固定的,固定的高度和固定的距离到右侧和顶部。但是警告告诉我NeedsConstraintsfor:Yposition,heightNeedsConstraintsfor:Xposition,width有人可以解释一下这些约束是如何不够的吗?编辑此外,当使用“自动”添加约束命令时,它什么也不做,错误仍然存​​在。 最佳答案 我怀疑superView没有固定到界面生成器中的大小。自动布局约

ios - Xcode 9 : infinite calculation of auto-layout constraints leads to OOM 中的 UINavigationController 方法 setToolbarHidden 错误

我有一个UINavigationController实例嵌套在UITabBarController中。我使用导航Controller到达某个ViewController(标签栏仍然可见),我从那里转到第二个ViewController(标签栏不再可见)。在第二个ViewController中,只要我调用:[self.navigationControllersetToolbarHidden:NO]应用程序卡住并且内存增长,直到OOM异常使其崩溃。我承认不建议将导航Controller嵌套在标签栏内,但在iOS11之前,此设置似乎工作正常。编辑:停止执行时,我看到很多调用:UIView(U