我尝试强制navigationController在我的应用程序中处于方向纵向。但是我通过这种方式继承了navigationController类来解决这个问题:
- (BOOL)shouldAutorotate
{
if (self.visibleViewController && [self.visibleViewController respondsToSelector:@selector(shouldAutorotate)])
{
return [self.visibleViewController shouldAutorotate];
}
return YES;
}
- (NSUInteger)supportedInterfaceOrientations
{
if (self.visibleViewController && [self.visibleViewController respondsToSelector:@selector(supportedInterfaceOrientations)])
{
return [self.visibleViewController supportedInterfaceOrientations];
}
return UIInterfaceOrientationMaskPortrait;
}
所以我的所有控制器都继承了这个。但我的问题是,当我在横向模式下使用iPhone启动应用程序时,我的viewController不尊重interfaceorientationlandscape。但是,当我转动我的iPhone时,如果方向发生变化则不会改变。 我搜索如果在viewDidLoad中不是纵向,或者如果可能在viewDidAppear中,我如何强制我的方向更改。
答案 0 :(得分:0)
如果您想拥有此应用范围
您可以点击相应的菜单项到达那里:
否则,如果您只想为一个ViewController设置
- (BOOL)shouldAutorotate {
return YES; // or NO
}
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation {
return UIInterfaceOrientationLandscapeLeft; // or UIInterfaceOrientationLandscapeRight or UIInterfaceOrientationPortrait
}
- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskLandscape; // or UIInterfaceOrientationMaskPortrait
}