Xcode 6视图控制器显示自动布局的空白屏幕

时间:2014-09-08 14:10:50

标签: ios swift xcode autolayout

我正在尝试使用视图控制器,我决定使用自动布局。在我使用自动布局之前,视图通常显示了我在运行时的预期。但我决定改用自动布局(因为毕竟会有更大的iPhone出现),甚至在设置之后,根本没有任何问题,并且看到该应用程序在IB中的尺寸与iPhone的尺寸相符。我还有一个空白的屏幕。为了证明这一点,这里是图片:

Xcode 6 shot.[][1]

iOS Simulator shot. Note that the navigation bar and tab bars are showing.

那为什么会这样呢?我在方形视图中添加了约束,并且它优雅地缩放到Interface Builder中的iPhone视图。如果您还查看侧栏,则不会显示自动布局错误的警报。 IB正在渲染一切。但为什么模拟器是空白的呢?

是的,我将所有元素连接成正确的代码。我验证了。是的,我有代码将文本放在标签中。这里是'viewDidLoad()'方法:

override func viewDidLoad() {
    super.viewDidLoad()
    self.titleLabel.text = "Hello, World!"
}

我会再次强调:应用程序在我进行自动布局之前就已经完成了。对于这个构建,我删除了所有元素,重新定位它们,重新连接它们,并添加了调整视图,自动布局单元IB正确地渲染它。但是我在这里得到了不同的结果。

请帮帮我。哦,对于大量的图像感到抱歉,我无法弄清楚如何缩小它们。

编辑:我已经完成并使用了视图调试器,并尝试捕获视图层次结构以查找剪切或遮挡。有趣的是,视图调试器正确显示内容,并且没有看到任何剪辑或遮挡。当我试图在模拟器中显示帧时,它没有显示任何内容。我开始认为这是一个模拟器错误。目前,我正在使用Xcode 6 beta 6.

3 个答案:

答案 0 :(得分:2)

我通过向标准视图控制器添加集合视图来重新创建该问题,这似乎是问题所在:

Constraints added when selecting "Add suggest constraints"

enter image description here 让Xcode添加建议的约束会给你这个,这会导致视图不显示。

将视图左右对齐布局指南(似乎不对)

您必须手动为视图添加间距约束。

这就是你想要的:

enter image description here

答案 1 :(得分:1)

尝试启用助理编辑器并在调整约束条件时使用预览。

Screenshot http://www.mattknott.com/images/screenshot.png

答案 2 :(得分:0)

进行编辑" wAny hAny For All Layouts Base值"模式。然后在不同设备上测试时,您将看不到空白屏幕。

模式选择可以是底栏中的一个。 祝你好运