1

Interface Builderで、ストーリーボードの一部としてビューを作成しました。これは、以前は1つの異なるコンテキストでのみ表示されていました(UITabBarControllerのビューとして)。

ここで、このビューをUINavigationControllerビューの一部として再利用したいと思いますが、これは通常は正常に機能します。唯一の問題は、IBでボタンをleftBarButtonItemに配置したことです。そのため、同じView Controllerをナビゲーションコントローラーのスタックにプッシュしても、backBarButtonItemは自動的に配置されなくなります。

その状況に対処する方法に関する標準的なアプローチはありますか?ビューコントローラがUITabBarControllerまたはUINavigationControllerの一部であるかどうかに応じて、ボタンを自分で削除する必要がありますか?ボタンをIBのままにしておきたいのですが。したがって、viewDidDisappearでleftBarButtonItemをnilに設定すると、たとえば、一種のヘルプになります。これはbackBarButtonItemを正しく表示しますが、ユーザーがその画面に戻ったときに、leftBarButtonItemを手動で再度設定する必要があります。

4

1 に答える 1

5

次に、これを使用してみてください。

self.navigationItem.leftBarButtonItem = self.navigationItem.backBarButtonItem;
于 2012-06-13T06:15:20.963 に答える