在 Interface Builder 中添加约束时 Xcode 无限期挂起
Posted
技术标签:
【中文标题】在 Interface Builder 中添加约束时 Xcode 无限期挂起【英文标题】:Xcode hangs indefinitely when adding constraints in Interface Builder 【发布时间】:2015-04-20 12:50:40 【问题描述】:总而言之,如果没有在子视图上指定高度,添加约束会导致 Xcode 挂起。
我在装有 OSX 10.10.3 的 Macbook Air 上使用 Xcode 6.3 (6D570),目前遇到一个非常奇怪的问题。我有一个 .xib 文件,其中包含一个视图和一个滚动视图。很简单,真的。这是我当前的设置:
请注意,向下的浅蓝色/绿色部分包含在滚动视图中。在界面生成器中,鲜红色部分尚未设置约束。 例如,当我尝试向其上方的浅灰色视图添加垂直空间约束时,Xcode 挂起。
当 Xcode 挂起时,Size 检查器选项卡变为空,鼠标开始无休止地旋转。这是发生挂起时的尺寸检查器屏幕截图:
花了将近半天的时间,我设法找出了问题所在。如果我通过右下角的Pin按钮添加约束,并指定视图的高度约束,则不会发生此问题。
如果我先指定/添加高度约束,添加约束只能按预期工作。当我尝试删除约束时也会发生这种情况,例如,从标签(没有高度约束)到容器约束的顶部空间。我可以很好地添加它们,但是当我尝试删除约束或删除视图时,Xcode 会挂起。
哦,为了增加更多的混乱:这种情况经常发生。就像在 10 中的 7 一样。
我尝试过的事情:
重新制作不同文件的视图 重新构建不同项目的视图 关闭除 Xcode 以外的所有应用程序,包括 ios 模拟器 重新启动我的电脑我没有尝试过的事情:
重新安装 Xcode(或回滚到以前的版本)。我应该删除 Xcode 并重新安装(下载)吗?这可能是新 Xcode 的错误吗?
【问题讨论】:
【参考方案1】:Xcode 6.3.0 中似乎存在错误。 2015 年 4 月 21 日的 6.3.1 更新应该可以解决此问题:
【讨论】:
以上是关于在 Interface Builder 中添加约束时 Xcode 无限期挂起的主要内容,如果未能解决你的问题,请参考以下文章
有没有办法在Interface Builder中为Auto Layout Constraints添加标识符?
两个 UITableViewCell 具有相同的约束,但在 Interface Builder 中显示不同
iOS:以编程方式更改从 Interface Builder 设置的约束
转 iOS 8 Auto Layout界面自动布局系列2-使用Xcode的Interface Builder添加布局约束