我刚从Xcode(iPhone的Master-Detail Application)运行模板。我只添加了
NSLog(@"%@", NSStringFromCGRect(self.view.bounds));
DetailViewController中的:viewdidLoad
当我将MasterViewController上的屏幕(在模拟器上)旋转到横向旁边时,我推出了一个DetailViewController,在我看到的控制台中:
{{0, 0}, {320, 460}}
这是不正确的,因为视图在横向中。
知道为什么吗?
答案 0 :(得分:1)
默认情况下,您的视图边界是纵向。
如果以横向模式启动应用程序,则会在控制器出现之前向其发送轮换消息。所以尝试在viewDidAppear
打印。
答案 1 :(得分:0)
您是否添加了详细信息视图: - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { 返回YES; }
如果是,那么你应该在viewWillAppear中打印这些值,因为默认情况下屏幕可能是纵向加载,然后在加载后立即旋转。