任何设备的故事板安全区域错误/固定宽度

时间:2018-01-22 19:22:59

标签: ios xcode interface-builder

在故事板中的视图控制器中对视图进行一些重新排列后,特定视图控制器中的安全区域变得越来越糟糕。对于任何设备,我选择安全区域永远不会更新其帧宽。

在下面的gif中,我在文档大纲中选择了安全区域来说明这一点。

enter image description here

在设备中运行时,安全区域按预期工作。所以这是Interface Builder特有的问题。执行Cmd + Shift + K清理和删除派生数据无效。

那么,有没有一种已知的方法来拯救视图控制器,而不是在新的视图控制器中重新创建它?

3 个答案:

答案 0 :(得分:3)

如果UIStackView包含至少一个没有明确首选宽度的多行UILabel,则会发生此错误。我发现在所有情况下都没有成功的简单解决方法。

答案 1 :(得分:2)

我最近遇到了同样的问题。 解决问题的方法是,在StoryBoard导航器中选择了“安全区域”。

storyBoard navigator

此后,我使用了约束控件,然后选择“重置为建议的约束”。

restraint controls

对我来说,解决了这个问题。希望对您有所帮助。

快乐编码!

答案 2 :(得分:0)

以下是调试这些问题的技巧:关闭场景中各个视图上的“已安装”复选框,直到问题消失。通过消除过程,您可以确定导致问题的控件或约束。

enter image description here