Xcode 6.4 - 无法在Views或......上设置约束

时间:2015-09-11 01:37:19

标签: ios xcode swift uiimageview constraints

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

现在限制似乎并不是非常复杂,除了在尝试在ViewController中的UIImageView上设置它们时,使用"使用自动布局"勾选,我不能为我的生活设置任何约束,因为当我点击用于实现此目的的三个按钮中的任何一个时,设置约束的所有选项都是灰色的。

我确定这很简单......有点帮助?​​

我在参考资料中找到了一些内容:"如果您只选择了一个元素,则会禁用需要多个元素的约束选项。"但是在所有指南中我都不得不选择超过UIImageView来设置约束。

编辑:添加图片:

ContraintsGreyedOut1of2

ContraintsGreyedOut2of2

6 个答案:

答案 0 :(得分:10)

就我而言,Xcode 11.2以某种方式设置了UIButton tranlates mask into constraints的layout属性。因此,我将其从尺寸检查器更改为automatic,并且它是固定的。

答案 1 :(得分:3)

您无法设置约束的原因是您的图像视图不在视图中,它是基本视图。为了在任何类型的视图上设置约束,它必须在另一个视图中。

答案 2 :(得分:2)

如果在视图周围移动(例如,将View移入TableView,然后移出TableView),那么它将神秘地失去接受约束的能力。因此,建立一个新的。 XCode 11.4.1

答案 3 :(得分:1)

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

不确定您要在这里实现什么,但如果您将UIImageView放在此视图控制器的内容视图上而不是更改其类,则会有完整的自动布局约束。

答案 4 :(得分:1)

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

enter image description here

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

enter image description here

enter image description here

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

enter image description here

答案 5 :(得分:0)

this

我所做的一切,简洁明了: - 在您的视图中,添加UIImageView - 选择你的UIImageView - 单击“添加新约束”按钮(如附图所示)。

如您所见,UIImageView已被选中。

唯一可能的解释是您可能忘记选择它。

干杯