我有一个应用程序会为用户自动登录。当登录到服务器时,会有一个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将导致指针超出范围异常。
请指出正确的方向。
感谢您阅读我的帖子。
这就是它的样子: