特定の画像がまだ表示されているときに画面の向きを横向きのみにロックしようとしていて、画像が非表示になっているときにすべての向きのロックを解除しようとしています (iOS 6 を対象):
-(BOOL)shouldAutorotate{
if (self.splashImageView.hidden == NO) {
return UIInterfaceOrientationMaskPortrait;//gets called when image is visible
}else{
return UIInterfaceOrientationMaskAll;//gets called when image is hidden
}
}
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {
[self shouldAutorotate];
}
お気づきかもしれませんが、shouldAutorotate
は適切に呼び出されますが、画像がまだ表示されている場合でも、画面は常に横向きをサポートしています。
UIViewController
PS: タブバー ビュー コントローラー (サブクラス)で動作するようにしようとしていることに注意してください。