下面的警报视图屏幕。奇怪,奇怪。你知道为什么会这样吗?它只在加载到景观中时发生——加载到肖像中,然后旋转到景观中工作得很好。
解决方案:
出现此问题是因为应用程序加载完成后(更具体地说,在应用程序的
viewDidAppear:
方法)。
iOS发送数(4)
shouldAutorotateToInterfaceOrientation:
启动后调用当前/主视图控制器,以确定当前支持哪些方向。当我这么快添加另一个VC时,这发生在上述调用的中间。因此,我只接到一两个电话(“肖像”,因为它从肖像开始)。
然后,主视图控制器对景观方向的默认支持为“否”,但新添加的视图控制器(也被询问方向)现在很高兴地回答“是”。
如果我删除了另一个VC(在横向),我就会意识到我的主视图控制器卡在纵向。所以我有一幅肖像画,上面有一幅风景画。警报等都注意到了前者的方向,因此造成了上述灾难性的后果。
此外,如果我试图旋转到肖像,我不能,因为主视图控制器已经在肖像。旋转到景观也是不可能的,因为另一个视图控制器已经在景观。只有当我做了“横向而另一个”旋转时,两个视图控制器都同意需要旋转,因此设备旋转。
在我的例子中,修复方法是简单地将另一个控制器的创建延迟一点。使用
performSelector:withObject:afterDelay.
--0似乎有效,但我只是把它放在1来确定。它看起来有点奇怪,主要的风险投资出现了,然后是其他风险投资,但它比上面的要好。