iPhoneアプリをiPadに移植しています。iPhone では、テーブル内の行を選択すると、その後、次のビュー コントローラーがナビゲーション コントローラーの一番上にプッシュされます (現在、ナビゲーションは分割ビュー コントローラーの左側で実行されます)。iPad の場合、コードを次のように変更しました。
if (deviceIsIPad())
{
UISplitViewController *svc = (UISplitViewController *)[self findNearestParentOfClass:[UISplitViewController class]];
svc.viewControllers = [NSArray arrayWithObjects:[svc.viewControllers objectAtIndex:0],
nextViewController,
nil];
}
else
[self.navigationController pushViewController:nextViewController animated:YES];
iPhone コード (コントローラーがナビゲーション コントローラーにプッシュされるとき) には問題はありませんが、iPad では viewWillAppear: は呼び出されません (ただし、viewDidLoad は呼び出されます)。呼び出されないのはなぜですか?強制的に呼び出すにはどうすればよいですか?
よろしくお願いします!