我从表视图中呈现这样的模态视图控制器(忽略内存泄漏,只是测试..):
[self presentModalViewController:[[SignatureVC alloc] init] animated:YES];
在我的SignatureVC中,我正在实现这个:
-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft);
}
我希望SignatureVC仅处于横向模式。但是,在呈现模态视图控制器后,方向不会改变。 我究竟做错了什么?感谢。
答案 0 :(得分:2)
方法-shouldAutorotateToInterfaceOrientation:
不会旋转界面方向。如果设备方向旋转,它仅允许界面方向旋转。
如果在设备处于纵向状态时出现模态视图,则它将处于纵向状态。但是,一旦您旋转到landscapeLeft,它将使用此代码保持锁定在该方向。
要强制界面旋转,您可以使用
[UIApplication sharedApplication].statusBarOrientation = UIInterfaceOrientationLandscapeRight;
答案 1 :(得分:0)
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
return UIInterfaceOrientationMaskLandscape;
}
可以为最低部署目标 IOS 6.0
的应用带来魔力答案 2 :(得分:0)
试试这个
- (UIInterfaceOrientationMask)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskPortrait;
}
-(UIInterfaceOrientation)preferredInterfaceOrientationForPresentation {
return UIInterfaceOrientationPortrait;
}
-(BOOL)shouldAutorotate {
return NO;
}