“添加新约束”复选框和字段被禁用

时间:2015-02-07 01:25:00

标签: xcode interface-builder xcode6

我有一个项目,我正在从Xcode 4.6.3升级到Xcode 6.1.1。我在Xcode 6.1.1中打开它,并打开每个.xib。每个.xib的格式都按预期更改。我想尝试使用自动布局。选中“使用自动布局”,“使用大小类”也是如此。我将每个适当的对象从Alignment Frame更改为Alignment Rectangle。

有一段时间我无法添加任何约束。然后经过一些尝试,我可以添加一些。请参见屏幕截图 enter image description here 对于选定的视图,我无法添加约束。 “添加新约束”复选框和字段已禁用。只有更新帧可以更改。我也无法添加对齐约束。按住Ctrl键拖动视图中的一行也不会添加约束。注意视图高度为411.如果我选择另一个对象,则再次选择View,高度将更改为父标签栏的高度减去。如果我继续这样做,高度变得越来越小,那么Xcode会崩溃。如何向此视图添加约束?

标签栏X,Y,宽度和高度被禁用。当我更改指定视图控制器视图的高度时,标签栏Y更改为该值减去标签栏高度49.当我选择视图时,它的高度现在再减少49。选择标签栏,它的Y现在减少49。等等。当我无法添加约束时,如何设置分配视图控制器视图的尺寸?

6 个答案:

答案 0 :(得分:11)

我有同样的问题。在我的情况下,视图布局设置设置为Translate Mask Into Constraint。我将其更改为Automatic中的Size Inspector

答案 1 :(得分:8)

Xcode 12

对于禁用添加约束的UI元素,请检查“大小”检查器中的“布局”: enter image description here

如果将其设置为“自动调整蒙版”,则更改为推断(约束)

enter image description here

答案 2 :(得分:4)

启用自动布局的步骤:

  1. 在故事板中选择任何 UI 元素。
  2. 点击Show the Size Inspector
  3. 点击 Layout 选项旁边的下拉菜单,从下拉菜单中选择 Automatic

enter image description here

答案 3 :(得分:2)

泽夫有答案。您无法将约束直接添加到视图控制器中的顶级视图。

关于视图的高度在选择时减少,我从原始.xib开始进行小的更改并做笔记。当我检查"使用自动布局"并且"用户大小类",警告文档将不再与Xcode 5兼容。窗口框架大小从320 568变为600 600. ibExternalTranslatesAutoresizingMaskIntoConstraints从1变为0.其他变化也很明显。一次为View中包含的对象添加约束我获得了良好的结果。选择它时视图高度的行为消失了。

答案 4 :(得分:2)

Xcode 12 Swift 5

  • 选择 UI Control 并点击Show Size Inspector window enter image description here
  • 将布局选项更改为 Inferred (Autoresizing Mask)enter image description here)

默认情况下,Xcode 12 将布局设​​置保留为 Autoresizing Mask,如果您想应用使用的约束 Inferred

答案 5 :(得分:1)

在根视图上启用约束的技巧:

  • 在xib内,将同级的新视图拖到初始根目录 视图。
  • 在同级视图内移动初始根视图。这将是 能够有自己的约束。
  • 将初始视图移回 根。
  • 删除空的同级视图。