我有一个项目,我正在从Xcode 4.6.3升级到Xcode 6.1.1。我在Xcode 6.1.1中打开它,并打开每个.xib。每个.xib的格式都按预期更改。我想尝试使用自动布局。选中“使用自动布局”,“使用大小类”也是如此。我将每个适当的对象从Alignment Frame更改为Alignment Rectangle。
有一段时间我无法添加任何约束。然后经过一些尝试,我可以添加一些。请参见屏幕截图 对于选定的视图,我无法添加约束。 “添加新约束”复选框和字段已禁用。只有更新帧可以更改。我也无法添加对齐约束。按住Ctrl键拖动视图中的一行也不会添加约束。注意视图高度为411.如果我选择另一个对象,则再次选择View,高度将更改为父标签栏的高度减去。如果我继续这样做,高度变得越来越小,那么Xcode会崩溃。如何向此视图添加约束?
标签栏X,Y,宽度和高度被禁用。当我更改指定视图控制器视图的高度时,标签栏Y更改为该值减去标签栏高度49.当我选择视图时,它的高度现在再减少49。选择标签栏,它的Y现在减少49。等等。当我无法添加约束时,如何设置分配视图控制器视图的尺寸?
答案 0 :(得分:11)
我有同样的问题。在我的情况下,视图布局设置设置为Translate Mask Into Constraint
。我将其更改为Automatic
中的Size Inspector
。
答案 1 :(得分:8)
答案 2 :(得分:4)
答案 3 :(得分:2)
泽夫有答案。您无法将约束直接添加到视图控制器中的顶级视图。
关于视图的高度在选择时减少,我从原始.xib开始进行小的更改并做笔记。当我检查"使用自动布局"并且"用户大小类",警告文档将不再与Xcode 5兼容。窗口框架大小从320 568变为600 600. ibExternalTranslatesAutoresizingMaskIntoConstraints从1变为0.其他变化也很明显。一次为View中包含的对象添加约束我获得了良好的结果。选择它时视图高度的行为消失了。
答案 4 :(得分:2)
Xcode 12 Swift 5
默认情况下,Xcode 12 将布局设置保留为 Autoresizing Mask,如果您想应用使用的约束 Inferred
答案 5 :(得分:1)
在根视图上启用约束的技巧: