iOS - UINavigationController に UIToolBarItem を設定する
-
27-10-2019 - |
質問
ストーリーボードでツールバー項目をドラッグしてナビ コントローラーに設定しましたが、コードを実行するとツールバー項目が表示されません。何か足りないものはありますか?
編集:
コードでも viewDidLoad メソッドで設定してみました。
UIBarButtonItem *rightBarButton = [[UIBarButtonItem alloc] initWithTitle:@"Map" style:UIBarButtonItemStyleBordered target:self action:@selector(viewMap)];
self.navigationItem.rightBarButtonItem = rightBarButton;
それも機能しません。
私のストーリーボードでの設定は次のとおりです。
アップデート:
ちょうど私の問題を見つけました。私のコントローラー コードでは、内容を更新するときに、スピナーの右バー ボタン項目を変更し、以前のものに戻すことはしません。
解決
UINavigationController
すでにツールバーが組み込まれています。プロパティがあります toolBarHidden
に設定されているのは YES
デフォルトで設定されているため、通常は表示されません。ストーリーボードを使用している場合は、ナビゲーション コントローラーが選択されているときにインスペクターの [ツールバーを表示] チェックボックスをオンにすることで、組み込みの下部ツールバーを簡単に表示できます。
を参照してください。 UINavigationControllerのドキュメントはこちら 詳細については。
編集:
OK、あなたがやろうとしているのは、ビューコントローラーのボタンに右ボタンを追加することのようです UINavigationItem
. 。これをストーリーボードで行うには、「バー ボタン項目」をオブジェクト ライブラリから ViewController のナビゲーション項目にドラッグします。次に、バーボタン項目のタイトル/スタイルなどを設定できます。アプリを実行しても何も表示されない場合は、ViewController がセグエを使用してナビゲーション コントローラーに適切に接続されていることを確認してください。
また、バー ボタン アイテムをビュー コントローラー自体ではなく、ビュー コントローラーのナビゲーション アイテムに追加していることを確認してください。ストーリーボードでの設定は次のようになります。
他のヒント
ナビゲーションバーにアイテムを追加するには、ViewControllerに含まれるナビゲーション Item にBar Button Item
を追加する必要があります。ストーリーボードに移動し、適切なVCを見つけて、ナビゲーションアイテムを見つけます(ナビゲーションコントローラーの「シーン」に表示される階層にあります)。バーボタンアイテムをナビゲーションアイテムの下の階層にドラッグするか、ビジュアルビルダーディスプレイのナビゲーションバーに直接ドラッグするだけです。
ナビゲーションコントローラーは、VCがスタックにプッシュされたときにのみVCのナビゲーションアイテムを確認します。したがって、viewDidLoad
でVCのnavアイテムを変更しても効果はありません。
(これは以前にプログラムで行ったことがありますが、コードを持っていないので、後で追加するかもしれません...)