我有4个UIViewControllers - 命名为ControllerA,ControllerB,ControllerC,ControllerD。
其中ControllerA是UINavigationStack中的RootViewController。
ControllerA *ca = [[ControllerA alloc]initWithNibName:@"ControllerA" bundle:nil];
UINavigationController *nv = [[UINavigationController alloc]initWithRootViewController:ca];
self.window.rootViewController = nv;
在推动ControllerB后,他们都在potrait,但问题来到这里我想要控制器C在风景中。
我已经完成了许多代码,但任何令人满意或有效的解决方案,但我确实设法通过沿角度转换视图来旋转它 -
[[UIApplication sharedApplication]]setStatusBarOrientation:UIInterfaceOrientationLandscapeRight
animated:YES];
self.view.transform = CGAffineTransformMakeRotation(M_PI/2);
但是现在我想在控制器C上呈现模态控制器,如果通过一些旋转它不会进入横向,它会干扰所有其他的视图控制器转换。
在做了这么多之后,我回过头来讨论通过一些记录方法制作ControllerC的相同问题。
答案 0 :(得分:1)
对于纵向模式VC,
#pragma mark iOS 5 Orientation Support
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return UIInterfaceOrientationIsPortrait(interfaceOrientation);
}
#pragma mark iOS 6 Orientation Support
-(NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskPortrait;
}
对于横向模式VC,
#pragma mark - iOS 5.0 and up Rotation Methods
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return UIInterfaceOrientationMaskLandscape;
}
#pragma mark - iOS 6.0 and up Rotation Methods
- (NSUInteger)supportedInterfaceOrientations;
{
return UIInterfaceOrientationMaskLandscape;
}