Xcode 6.4 - 无法对视图或...设置约束
Posted
技术标签:
【中文标题】Xcode 6.4 - 无法对视图或...设置约束【英文标题】:Xcode 6.4 - Unable to set constraints on Views or ... anything 【发布时间】:2015-09-11 01:37:18 【问题描述】:那里有很多关于自动布局的指南,例如:http://www.raywenderlich.com/83129/beginning-auto-layout-tutorial-swift-part-1
现在约束似乎不是超级复杂,除了当试图在 ViewController 内的 UIImageView 上设置它们时,如果勾选了“使用自动布局”,我这辈子都无法设置任何约束,因为当我单击用于实现此目的的三个按钮中的任何一个时,用于设置约束的所有选项都显示为灰色。
我确定这很简单...没什么帮助?
我在参考资料中找到了一些内容:“如果您只选择了一个元素,则需要多个元素的约束选项将被禁用。”但在任何指南中,我都必须选择更多的 UIImageView 来设置约束。
编辑:添加图片:
【问题讨论】:
如果您在情节提要中单击 UIImageView,您应该能够单击窗口底部的约束选项之一。你说你做不到?为您尝试自动布局的内容截屏。 您是如何将图像视图作为视图控制器的主视图的?您的故事板格式不正确。您可能还忘记将视图控制器的view
插座重新连接到图像视图。但说真的 - 不要这样做。
我还注意到画布底部中间没有尺寸等级菜单。这个故事板是软管。放弃并重新开始。
【参考方案1】:
在我的例子中,Xcode 11.2 以某种方式设置了我的 UIButton
tranlates mask into constraints
的布局属性。所以我从 size inspector 把它改成了automatic
,它是固定的。
【讨论】:
【参考方案2】:这是因为您从视图控制器中删除了根视图。当您将 UIViewController 添加到情节提要时,您可以看到:
如果你删除这个视图并添加 UIImageView 你会看到:
所以添加 UIView 作为根视图和 UIImageView 作为根视图的单个子视图。然后你可以玩约束:
【讨论】:
【参考方案3】:如果您移动视图(例如,将其移入然后移出 TableView),那么它将神秘地失去接受约束的能力。所以建一个新的。 XCode 11.4.1
【讨论】:
【参考方案4】:您无法设置约束的原因是因为您的图像视图不在视图中,它是基本视图。为了对任何类型的视图设置约束,它必须在另一个视图内。
【讨论】:
【参考方案5】:自动布局约束是两个对象之间的关系或大小约束。在此示例中您只有一个对象,因此此处不适用自动布局约束。大小限制也不适用,因为这是 xib 的根视图。
不确定您要在这里实现什么,但如果您将 UIImageView 放在此视图控制器的内容视图上而不是更改其类,您将拥有全套自动布局约束。
【讨论】:
【参考方案6】:我所做的一切,干净而简单的是: - 在您的视图中,添加 UIImageView - 选择你的 UIImageView - 点击“添加新约束”按钮(如附图所示)。
如您所见,UIImageView 被选中。
唯一可能的解释是您可能忘记选择它。
干杯
【讨论】:
【参考方案7】:我遇到了同样的情况。但就我而言,我尝试将 imageview 插入到水平堆栈视图中。奇怪的是,我无法为 imageview 的宽度和高度值添加约束。 只有在删除当前并添加新的图像视图之后,我才能添加约束。
【讨论】:
以上是关于Xcode 6.4 - 无法对视图或...设置约束的主要内容,如果未能解决你的问题,请参考以下文章
XCode 6.4 中 iOS8 Storyboard 中缺少约束图标,适用于最初在早期版本的 iOS 下编写的应用程序
Xcode 6.4“无法下载和安装 iOS 8.3 模拟器”