目前,这就是正在发生的事情。如果我处于纵向模式,并且我展示了一个新的 modalViewController,然后旋转到横向,那么 autoResizing 可以完美地工作并且一切看起来都很棒。但是,如果我在风景中,并且我展示了一个新的 modalViewController,autoResizing 不起作用,一切看起来都很时髦。谁能想到为什么会发生这种情况的任何可能的想法?我绝望了,我什么都试过了。
也许解决这个问题的一种方法是弄清楚当我处于纵向和横向时系统调用了哪些代码。如果我的 modalView 以横向显示,也许我可以调用那个确切的代码。我试过 layoutIfNeeded 和 setNeedsDisplay 但他们什么也没做。我也尝试将 contentMode 设置为 redraw-没有帮助。
我的 viewDidLoad 中有这个用于模态视图
if(UIInterfaceOrientationIsLandscape(self.interfaceOrientation))
{
NSLog(@"is landscape, width:%f", self.view.frame.size.width);
}
这输出 320,即使我在风景中,它应该是 480。