ユニバーサルiPad/iPhoneアプリとして作成したiPhoneアプリがあります。iPadバージョン用にsplitviewcontrollerを実装しました...すべて問題ありません。
私のiPhoneアプリでは、横向きを許可するためにshouldAutorotateToInterfaceOrientationをオーバーライドする第2レベルのビューコントローラー(Webビュー)を除いて、すべてが縦向きになっています。ビューチェーンに戻ると、ポートレートに戻ります。すばらしい!
しかし、今では私のiPadスプリットビューアプリは縦向きのままになっています。rootviewcontrollerなどのビューのいずれかでshouldAutorotateToInterfaceOrientationをオーバーライドすると、iPhoneアプリでランドスケープモードが効果的に許可されますが、これはできません。ただし、iPadでのランドスケープの問題は修正されます。
これを回避する方法はありますか?iPadのshouldAutorotateToInterfaceOrientationには事実上「はい」と言いたいのですが、iPhoneの場合は「いいえ」と言いたいです。これを試しましたが、機能しません。両方のデバイスでランドスケープが可能です。
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
// Return YES for supported orientations
BOOL rotate = NO;
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
rotate = YES;
}
return rotate;
}
何かアドバイス?