複数のビューとルート ビュー コントローラーを持つアプリケーションを開発しています。これは、pushViewController を使用する UINavigationController に基づいています。
BIDLoginController *loginController = [[BIDLoginController alloc] initWithNibName:@"Login" bundle:nil];
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:loginController];
[self.window setRootViewController:self.navController];
loginController で:
BIDMainPageController *mainPageController = [[BIDMainPageController alloc] initWithNibName:@"MainPage" bundle:nil];
[self.navigationController pushViewController:mainPageController animated:YES];
ただし、View Controller は UINavigationController ではなく、UIViewController のサブクラスです。ここで、一部のビューで方向 (ポートレートとランドスケープ) をサポートし、一部のビューでポートレートのみをサポートする必要があります。私は次のことを試しました:
- (BOOL)shouldAutorotate
{
return NO;
}
- (NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskPortrait;
}
うまくいきません。shouldAutorotate: メソッドが呼び出されていません。UINavigationControllerDelegate も結果なしで試しました。これらのビュー コントローラーのスーパー クラスを UIViewController から UINavigationController に変更すると、ビューは表示されず、ナビゲーション バーのみが表示されます。誰でもこれを手伝ってもらえますか?