我有一个导航基础应用程序,它最近从 Xcode 3.2 移到了 4.6。
由于在 iOS 6 中不推荐使用 ShouldAutorotateToInterfaceOrientation 并且我使用它来强制特定视图仅用于 UIDeviceOrientationLandscapeLeft,而其他视图仅用于 UIDeviceOrientationPortrait,因此我将伙伴代码添加到相应的 ViewController:
-(BOOL)shouldAutorotate{
NSLog(@"shouldAutorotate");
return YES;
}
-(NSInteger)supportedInterfaceOrientations{
NSLog(@"UIInterfaceOrientationMaskPortrait");
return UIInterfaceOrientationMaskPortrait;
}
-(BOOL)shouldAutorotate{
NSLog(@"shouldAutorotate");
return YES;
}
-(NSInteger)supportedInterfaceOrientations{
NSLog(@"UIInterfaceOrientationMaskLandscapeLeft");
return UIInterfaceOrientationMaskLandscapeLeft;
}
然后将 ViewController 推入导航唯一日志“UIInterfaceOrientationMaskPortrait”,并在设备旋转时视图旋转。(这不是我想要的)由 [self presentModalViewController:] 显示的 ViewController 可以同时记录“shouldAutorotate”和“UIInterfaceOrientationMaskLandscapeLeft”,并且在设备旋转时不会旋转。(这就是我想要的)
如何使推入导航的视图正常工作?