0
我一直在尝试整个早上来解决这个问题,但都无济于事。这是我的情况:在iOS6中旋转破裂
我有一个导航控制器跨越我的应用程序中的两个视图。第一个视图不应该从肖像旋转。第二个视图应该在纵向和横向之间旋转。回到第一个视图应该将其发送回肖像。
下面的代码我目前(我已经有没有成功尝试,所以绝不固体):
的AppDelegate:
- (NSUInteger)application:(UIApplication*)application
supportedInterfaceOrientationsForWindow:(UIWindow*)window
{
return UIInterfaceOrientationMaskAll;
}
导航控制器:
- (BOOL)shouldAutorotate
{
return self.topViewController.shouldAutorotate;
}
第一视图控制器:
-(BOOL)shouldAutorotate
{
return NO;
}
- (NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskPortrait;
}
二视图控制器:
-(BOOL)shouldAutorotate
{
return YES;
}
- (NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskAllButUpsideDown;
}
目前的行为是,应用程序将停留在第一个VC波泰特,运转正常在第二VC,但是如果我回去,而在景观,第一个VC是在景观并留在那里。我怎样才能解决这个问题?
我认为这种类型的界面旋转是不鼓励的,并且在iOS 6+下不易支持。 UINavigationController记录为“不要子类”。如果将第二个视图控制器显示为模式视图,而不是通过导航控制器,则会有更多运气。模态呈现的视图控制器可以独立于其呈现视图控制器进行旋转。 – Greg 2013-03-25 14:41:47