4

UINavigationBar の非表示と表示で奇妙な動作が発生しています。

私のviewWillAppearメソッドでは、これを呼び出しています:

self.navigationController.navigationBar.hidden = YES;

ユーザーがボタンを押すと、次のように呼び出します。

self.navigationController.navigationBar.hidden = NO;

次に、カスタム UINavigationController の viewControllers プロパティを使用して、現在のビュー コントローラーを交換します。

これは正常に動作しますが、メソッドで同じ行を使用して navigationBar を表示しようとすると、viewWillDisappear動作しません。navigationBar はまだ非表示です。

viewWillDisappear次の方法を使用して、ステータスバーを表示/非表示にすることができます。

[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade];

しかし、UINavigationBar の表示/非表示は機能しません!

編集:また、バーを表示しようとした後にself.navigationController.isNavigationBarHidden戻りますが、バーはまだ非表示になっています。NOviewWillDisappear

どんな助けでも大歓迎です。ありがとうございました!

4

2 に答える 2

11

現在のView Controllerをスタックからすでにスワップしているため、self.navigationControllerおそらく呼び出されたnilときviewWillDisappearです。

于 2013-06-19T21:56:19.467 に答える