2011-08-03 94 views
2

为了获得两个垂直的表格视图,就像设置应用程序一样,我正在切换分割视图控制器。在我的iPad的AppDelegate我写了下面的代码:UIWindow子视图不会自动旋转

rootViewController.view.frame = CGRectMake(0, 20, 270, 1004); 
[window addSubview:rootViewController.view]; 

detailViewController.view.frame = CGRectMake(270,20, 498, 1004); 
[window addSubview:detailViewController.view]; 

[window makeKeyAndVisible]; 

这个伟大的工程把一切纵向露面只是因为它应该。但是,当我旋转设备我的rootViewController旋转,而详细信息视图控制器不。在我的两个控制器我实现

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { return YES; }

我在做什么错?

回答

2

这是预期的行为。只有UIWindow中的“第一个”视图将由窗口管理其旋转。详情请参阅Technical Q&A QA1688

如果你不打算使用UISplitViewController,下一个最好的办法是消除你的根和细节视图控制器,并从一个父UIViewController管理视图。

如果你不想这样做,你可以尝试添加rootViewController.viewdetailViewController.view作为内一个顶级的UIViewController子视图,但请记住,你将不得不管理所有的意志/没有出现/消失旋转方法自己调用子控制器,并且有些事情会中断,因为子控制器的parentViewController将不是您的顶级控制器。

+0

我能够创建一个顶级视图来包含我的细节和根控制器的视图。最典型的情况是,我会重写所有内容到一个控制器中,但这两个控制器已经有很多时间了。不理想,但它现在都在工作。 – alexcash

+0

非常感谢。 – alexcash