これを単純にするには、アプリケーションの設計上、組み込みのナビゲーションコントローラを使用することができず、その代わりにビューコントローラのマニュアルバックボタンを使用して前のボタンに戻る必要があります。私が知る限り、以前のView Controllerはプログラムでこのビューコントローラにもプッシュします。だから私はここで多くの異なる質問のボタンのいくつかの素晴らしいコードを見つけた、と私はこのアプリのために書いた。問題は、プログラムを実行すると、作成したバーボタンアイテムが表示されないということです。コードにはエラーは表示されず、何も表示されない理由が混乱しています。できるだけ明確にするために画像とコードを追加します。何か助けてもらえたらいつもありがとう!使用さプログラムで作成された戻るボタンがナビゲーションバーに表示されませんか?
コード:
@IBOutlet weak var roomImage: UIImageView!
@IBOutlet weak var locationLabel: UILabel!
@IBOutlet weak var roomName: UINavigationItem!
override func viewDidLoad() {
super.viewDidLoad()
// Back Button Code
let backButton = UIBarButtonItem(title:"Back",style: UIBarButtonItemStyle.plain, target: self, action: #selector(DetailView.back(sender:)))
self.navigationItem.leftBarButtonItem = backButton
navigationItem.rightBarButtonItem = backButton
navigationItem.hidesBackButton = false
// Hide da tab bar
self.tabBarController?.tabBar.isHidden = true
// Do any additional setup after loading the view.
// Enter data from other view controllers
//roomName.title = stringPassed
roomImage.image = imagePassed
locationLabel.text = locationPassed
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
/*
// MARK: - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
// Get the new view controller using segue.destinationViewController.
// Pass the selected object to the new view controller.
}
*/
// Back Button Action
func back(sender: UIBarButtonItem) {
if let navigationController = self.navigationController {
navigationController.popViewController(animated: true)
}
}
}アプリが実行されるナビゲーションバー
と
実際のストーリーボード
私は何かをコンセントやその種のものにしていないのでしょうか?ありがとうございました!!
ストーリーボードレイアウト
ツリー詳細ビューのモデル(ナビゲーションバーの問題を持つ1)
EDIT:まだ動作していないが、あなたが与えたリンクやアイデアより具体的な答えが提示されるまで、探求する新しいアイデアやオプションがたくさんありました。ありがとうございました!!!
私はこの方法を好まなかったでしょう。なぜnavigationControllerを使用できないのですか? –
ナビゲーションコントローラを使用した場合、3つの異なるビューコントローラがこの単一のビューにプッシュしているので、1つではなく3つではありません。すべてはタブビューに基づいています。簡単な方法があると思えば私はすべての耳です。 –
@Frank_Cernyストーリーボードの構造を表示できますか?コントロールからviewControllerにドラッグしてNavigationItemを追加しましたか? –