0

我的应用程序有问题。我想在特定视图上锁定旋转。为此,我使用包含两个自定义视图控制器的 rootviewcontroller。我试图在我的两个视图控制器上覆盖 shouldAutorotateToInterfaceOrientation 方法,但是如果我允许我的 rootViewController 上的所有旋转,我所有的视图控制器都可以像我的 rootviewcontroller 一样旋转,我不明白为什么。

实际上我使用这个配置:

RootviewController
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    //By default, i allow all rotation
   return YES
}

FirstCustomviewController
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    //On my first viewController, I allow only orientation in portrait
   return (interfaceOrientation == UIInterfaceOrientationPortrait);
}

但在所有情况下,它都允许所有旋转(我认为它来自 rootviewcontroller),为什么我不能覆盖这个方法?我能为此做些什么?

谢谢

4

1 回答 1

1

RootViewController 和 FirstCustomViewController 的关系究竟是 push-view 还是 modal-view?如果关系是推视图,则所有子视图旋转都依赖于根视图。

将 UINavigationController 视为房屋,将 UIViewControllers 视为房间。房子里的所有房间都将以与房子相同的方式旋转。如果不转动房屋和其他房间,就无法转动房间。

于 2012-08-01T13:46:11.380 回答