Xcode 6.4 - 无法对视图或...设置约束

Xcode 6.4 - Unable to set constraints on Views or ... anything

有很多关于自动布局的指南,例如:http://www.raywenderlich.com/83129/beginning-auto-layout-tutorial-swift-part-1

现在约束似乎并没有那么复杂,只是当涉及到尝试在 ViewController 内的 UIImageView 上设置它们时,勾选了 "Use Auto-Layout",我不能我的生活设置了任何约束,因为当我单击用于实现此目的的三个按钮中的任何一个时,所有用于设置约束的选项都显示为灰色。

我确定这很简单...有什么帮助?

我在参考资料中找到了一些东西:"Constraint options that require multiple elements are disabled if you have only a single element selected." 但是在指南的 none 中,我必须拥有比选择的 UIImageView 更多的内容来设置约束。

编辑:添加图片:

我所做的一切,简单明了: - 在您看来,添加 UIImageView - Select 你的 UIImageView - 单击 "Add New Constraints" 按钮(如附图所示)。

如您所见,UIImageView 已 selected。

唯一可能的解释是您可能忘记了select它。

干杯

你不能设置约束的原因是因为你的图像视图不在视图中,它是基础视图。为了对任何类型的视图设置约束,它必须在另一个视图内。

自动布局约束是两个对象之间的关系或大小约束。本例中只有一个对象,因此此处不适用任何自动布局约束。大小限制也不适用,因为这是 xib 的根视图。

不确定您要在这里实现什么,但是如果您将 UIImageView 放在此视图控制器的内容视图上而不是更改其 class。

这是因为您从视图控制器中删除了根视图。当您将 UIViewController 添加到故事板时,您可以看到:

如果删除此视图并添加 UIImageView,您会看到:

因此将 UIView 添加为根视图并将 UIImageView 添加为根视图的单个子视图。然后你可以玩约束:

在我的例子中,Xcode 11.2 以某种方式设置了我的 UIButton tranlates mask into constraints 的布局 属性。所以我从尺寸检查器将它更改为 automatic 并且它是固定的。

如果您四处移动视图(例如,将它移入然后移出 TableView),那么它会莫名其妙地失去接受约束的能力。所以建一个新的。 XCode11.4.1

我遇到过同样的情况。但就我而言,我尝试将 imageview 插入到水平堆栈视图中。奇怪的是,我无法为 imageview 添加宽度和高度值的约束。 只有在 删除当前图像视图并添加新图像视图 .

之后,我才能添加约束