私はこの UINavigationController を持っています。プッシュすると自動的に横向きになりますが、変更可能です。
ビューを縦向きにポップすると、通常は最初/ルート ビューに戻りますが、ビューを横向きにポップすると、戻るボタンが残り、押すと、通常のナビゲーション コントローラーをポップしたときと同じようにアニメーションが表示され、ボタンが消えます.
メインビューが表示されるたびにView Controllerのログを記録しようとしましたが、2番目のビューと同じように、取得したログは非常に正常です。最初のビューでは 1 つのビュー コントローラーのみ、プッシュされたビューでは 2 つのビュー コントローラーのみ。
それで、何が問題になるのでしょうか?
カスタムボタンはまったく追加していません。これは、標準の UINavigationController の戻るボタンです。
コード:
ビューコントローラーのプッシュ
SomeViewController *rmVC = [[SomeViewController alloc] initWithNibName:@"SomeViewController" bundle:nil];
AppDelegate *ad = (AppDelegate*)[[UIApplication sharedApplication] delegate];
[ad.someNavigationController pushViewController: rmVC animated:YES];
これはpresentModalViewControllerにプッシュされたため、この方法で行われました
someViewController の viewDidLoad で
[[UIDevice currentDevice] setOrientation:UIInterfaceOrientationLandscapeLeft];