テーブルの詳細ビューであるView Controllerがあります。テーブルの行をクリックすると、詳細ビューが表示されます。詳細ビューはNavigation Controllerに組み込まれているため、Navigation Barの左上にボタンがあり、テーブルに戻ります。ここまでは順調ですね。
詳細ビューを編集できるように、ナビゲーションバーの右側に編集ボタンを追加します。私の計画では、アイテムの詳細を編集できる別のView Controllerをモーダルに追加します。標準的なもの。
ただし、オブジェクトのリストからナビゲーションバーにバーボタンアイテムをドラッグしようとすると、かかりません。代わりに、マウスボタンを離すと、下部のTab Bar Controllerのバーボタンがそのままになります。 (私のナビゲーションスキームにはさまざまなタブが含まれ、各タブにはテーブル、詳細ビューなどが含まれます。)
誰もがこれに出くわし、ナビゲーション画面の右側にバーボタンアイテムを追加するために私が間違っていることや何らかの回避策を提案できます。コードに追加する必要がありますか?
提案をありがとう。
Xcode6を使用しても同じ問題が発生し、NavigationControllerに埋め込む最初のViewControllerにUINavigationItemが自動的に追加されますが、後続のViewControllersには、次のように手動で追加する必要があります。
これで、シーンの上部にバーボタンが貼り付けられます。
UpdateソリューションはまだXCode 7で動作しますが、より説明的な写真を追加したかったです。念のため、上記の標準名または技術名を実際に知らない人がいます。右側の赤い矢印に注意してください。これらは上記の手順1、手順2を参照しています。また、左の赤い長方形のビューの階層にも注意してください。
厄介なトリック:
その後、コンテンツは編集可能になり、セグエの非推奨スタイルではなくなります。
ストーリーボードのView ControllerにNavigation Item
が欠けている可能性があります。オブジェクトライブラリからドラッグして、View Controllerにドロップできます。
その後、バーボタン項目をナビゲーションバーの左側または右側にドラッグアンドドロップできるようになります。
解決しました。 「ナビゲーションアイテム」を詳細ビューにドラッグします。バーボタンアイテムをドラッグできるよりも。
この問題を修正した方法は、UINavigationControllerをStoryboardにドラッグしてUIBarButtonItemsを追加しようとする代わりに、UITableViewControllerにドラッグしてから
エディタ->埋め込み-> Navigation Controller
UIBarButtonItemsをナビゲーションバーの両側に問題なく追加できたことを除いて、以前と同じ結果になりました。
その実際のXcodeの問題。私のために働いた1つのトリックは、左のファイル構造の表示にバーボタンを追加することです。Instaedはビューに直接追加します。それがあなたを助けることを願っています:)
私もこの問題を抱えていたので、プロジェクトを閉じて再度開いてください。
これはXcodeのバグだと思います。 Xcode 8では、Tab Bar View Controllerの前のストーリーボードのsegue
をすべてのオプション(show detail
、present
...)に変更します。その後、show
に戻ります。バーボタンアイテムをドラッグして、タイルを変更してみてください。わたしにはできる!
XCodeの癖だと思います。同じ問題がありました。 Xcodeをリセットし、ストーリーボード上で物事の配置を変更して、最終的にそれを取得する必要がありました。今は機能しています。
同じ問題。 Navigation Controller内にTable View Controllerと、チェーンのさらに下に続く多くのViewControllerがありました。最初のルートビューコントローラー用に「ナビゲーションアイテム」が自動的に作成されていたので、これに「バーボタンアイテム」を問題なく追加できました。ストーリーボードを介して、ドラッグアンドドロップします。しかし、それだけです。次のTable View Controllerおよびその他のView Controllerでは、最初のNavigation Controller(自動生成された戻るボタンが表示されます)内にありましたが、ストーリーボードでBar Button Itemを追加できませんでした。
Wael Showairのソリューションは私にはうまくいきませんでした。バーボタンアイテムは表示されません。
最後にプログラムで解決しました(Swift 2.0):
var testButton = UIBarButtonItem(title: "Test Button", style .Plain, target: self, action: "testButtonMethod")
self.tabBarController?.navigationItem.rightBarButtonItem = testButton
追加のナビゲーションアイテムやバーボタンアイテムは必要ありません。
Xcode 8でも同じ問題が発生しました。xcodeを閉じてプロジェクトを再度開くだけで、問題なくルートコントローラにバーボタンを追加することができました。
プロジェクトを「クリーニング」しようとしましたか?私はそれが時々私を助けることを知っています(「製品」>「クリーン」に行くだけです)。または、ナビゲーションバーを削除してもう一度試してください。
プログラミングエラーだと思われる場合は、自由にコードを渡してください。できる限りの方法でお手伝いさせていただきます。 :)
XCode IDEをリセットする必要があります。 xCodeを閉じて、ターミナルで以下のコードを記述します...動作します。
rm -rf $HOME/Library/Application Support/Developer/Shared/Xcode
rm -rf $HOME/Library/Preferences/com.Apple.dt.Xcode.*
rm -rf $HOME/Library/Saved\ Application\ State/com.Apple.dt.Xcode.savedState
rm -rf $HOME/Library/Developer/Xcode
私も同じ問題に直面していましたが、ルートビューコントローラーオプションを選択してこの問題を修正し、シミュレートされたマトリックスでトップバーオプションを不透明ナビゲーションバーに変更し、ナビゲーションバーの上にアイテムを追加できました。この答えは誰かを助けるでしょう。
Xcode 10では、この新しいView Controllerに向かうセグエのタイプを「プッシュ(非推奨)」に変更し、この切り替え後に許可されたナビゲーション項目を追加しました。元の目的のセグエタイプに戻すと、ナビゲーション項目は残ります。
「Bar Button Item」を「Navigation Controller」にドラッグする代わりに、「Detail View Controller」にドラッグします。詳細ビューを「ナビゲーションビュー」に埋め込むと、「ナビゲーションアイテム」が「詳細ビューコントローラー」に追加されます。 「バーボタンアイテム」をナビゲーションアイテムの右側にドラッグすると、そのアイテムは「右バーボタンアイテム」の下に含まれます。
mark Lyonsが言ったように、私は同じソリューションを使用しました。