我正在尝试使用视图控制器,我决定使用自动布局。在我使用自动布局之前,视图通常显示了我在运行时的预期。但我决定改用自动布局(因为毕竟会有更大的iPhone出现),甚至在设置之后,根本没有任何问题,并且看到该应用程序在IB中的尺寸与iPhone的尺寸相符。我还有一个空白的屏幕。为了证明这一点,这里是图片:
那为什么会这样呢?我在方形视图中添加了约束,并且它优雅地缩放到Interface Builder中的iPhone视图。如果您还查看侧栏,则不会显示自动布局错误的警报。 IB正在渲染一切。但为什么模拟器是空白的呢?
是的,我将所有元素连接成正确的代码。我验证了。是的,我有代码将文本放在标签中。这里是'viewDidLoad()'方法:
override func viewDidLoad() {
super.viewDidLoad()
self.titleLabel.text = "Hello, World!"
}
我会再次强调:应用程序在我进行自动布局之前就已经完成了。对于这个构建,我删除了所有元素,重新定位它们,重新连接它们,并添加了调整视图,自动布局单元IB正确地渲染它。但是我在这里得到了不同的结果。
请帮帮我。哦,对于大量的图像感到抱歉,我无法弄清楚如何缩小它们。
编辑:我已经完成并使用了视图调试器,并尝试捕获视图层次结构以查找剪切或遮挡。有趣的是,视图调试器正确显示内容,并且没有看到任何剪辑或遮挡。当我试图在模拟器中显示帧时,它没有显示任何内容。我开始认为这是一个模拟器错误。目前,我正在使用Xcode 6 beta 6.答案 0 :(得分:2)
我通过向标准视图控制器添加集合视图来重新创建该问题,这似乎是问题所在:
让Xcode添加建议的约束会给你这个,这会导致视图不显示。
将视图左右对齐布局指南(似乎不对)
您必须手动为视图添加间距约束。
这就是你想要的:
答案 1 :(得分:1)
尝试启用助理编辑器并在调整约束条件时使用预览。
答案 2 :(得分:0)
进行编辑" wAny hAny For All Layouts Base值"模式。然后在不同设备上测试时,您将看不到空白屏幕。
模式选择可以是底栏中的一个。 祝你好运