更改方向时,iOS子视图大小不正确

时间:2012-07-16 20:35:15

标签: iphone ios ipad orientation subview

我有一个应用程序会为用户自动登录。当登录到服务器时,会有一个50%透明的视图,显示“登录...”消息并阻止用户做其他任何事情(请不要跟我说我是否应该通过HIG做到这一点,我们必须让用户登录才能做任何事情)。所以我所做的是在IB中创建一个xib LoadingMessageViewController,在主视图控制器的- (void)viewDidLoad()中,我初始化视图控制器并执行[self.view addSubview:LoadingMessageViewController.view];

它可以在纵向模式下正常工作,但不能在横向模式下工作。我看到很多关于这个问题的帖子,没有什么对我有用。

我将autoresizingMask设置为true,在IB中设置自动调整大小,我也尝试使用[[[window subviews] objectAtIndex:0] addSubview:LoadingMessageViewController.view]而不是[self.view addSubview:LoadingMessageViewController.view]。使用[[window subviews] objectAtIndex:0]的问题是在-(void)ViewDidLoad中发生的,此时,视图尚未真正加载到屏幕上,此时的子视图为nil,调用objectAtIndex将导致指针超出范围异常。

请指出正确的方向。

感谢您阅读我的帖子。

这就是它的样子:

enter image description here

0 个答案:

没有答案