The iOS application I am working on has a view that needs to be locked in landscape orientation. Up to this point, that was accomplished by using the shouldAutorotate
and supportedInterfaceOrientations
methods, but on an iPad Air 2
running iOS9 beta5
, these methods never fire and the orientation is not locked.
I have tried on the following devices, methods fired on all except the Air2 (running debug with Xcode beta6):
iPhone 6+, iPad Mini, iPad Air 2, iPad 2, iPad 3
The methods not firing are as follows:
- (BOOL)shouldAutorotate {
return YES;
}
- (UIInterfaceOrientationMask)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskLandscape;
}
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation {
return UIInterfaceOrientationMaskLandscapeRight;
}
View controller is displayed via presentViewController
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…