UIViewController 在纵向模式下空白,但子视图在横向模式下可见?

UIViewController blank in portrait mode, but subviews are visible in landscape mode?

一件很奇怪的事情发生了。我在 IB 中创建了一个 UIViewController 并使用了

detailController = self.storyboard?.instantiateViewControllerWithIdentifier("detailView")
self.navigationController?.pushViewController(detailController!, animated: true)

揭示观点。但奇怪的是,它在纵向模式下呈现空白屏幕,在横向模式下呈现正确的视图,如屏幕截图所示

我试过了

self.presentViewController(traceInfoController!, animated: true, completion: nil)

也没有帮助。

我的代码库比较大,我已经把方向适配的代码都注释掉了

知道这样的事情是如何发生的以及如何纠正它吗?

谢谢大家!我刚刚弄明白了!

我不记得我是什么时候在 IB 中将布局模式更改为 (wAny hCompact) 的!

看最后一行的小字,横着写着iPhone!所以这就是针对不同屏幕尺寸设计不同布局的方法!

要解决这个问题,只需更改为 (wAny hAny) 然后编辑即可。

首先,检查您的 XIB 是否启用了自动布局和大小 类,如下图所示:

如果您启用了 Auto-layoutSize classes,那么您可能需要对视图进行限制。

做一件事,对你的一个视图应用一些约束并检查它。确保正确定义约束。

如有任何疑问,请添加评论..