に私はParentViewControllerとChildViewControllerとして命名されている2つのUIViewControllerは(私はUINavigationControllerを使用していない)があります。設定UIBarButtonItemターゲットプログラムで前のビューコントローラ
しかし、私は、子ビューコントローラのストーリーボードを使用してUINavigationBarを追加することはできませんので、私はプログラム的にその中にUIBarButtonItemでUINavigationBarを追加します。
ナビゲーションバーとバーボタンアイテムを子ビューコントローラに正常に追加しました。問題は、UIBarButtonItemのターゲットを設定できないため、親ビューコントローラが押されたときに表示されます。
あなたのためにこれは私が使用するコードですが、私は彼らに
let navigationBar : UINavigationBar = { //Label to display the text
let navBar = UINavigationBar(frame: CGRect(x: 0, y: 0, width: 100, height: 50))
navBar.translatesAutoresizingMaskIntoConstraints = false
let navItem = UINavigationItem(title: "SomeTitle");
let doneItem = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.done, target: nil, action: "selector");
let backItem = UIBarButtonItem(title: "Back", style: UIBarButtonItemStyle.plain, target: self, action: #selector(backAction(_:)));
//let backItem: UIBarButtonItem = backsItem
navItem.rightBarButtonItem = doneItem;
navItem.leftBarButtonItem = backItem;
navBar.setItems([navItem], animated: false);
return navBar;
}();
@IBAction func backAction(_ sender: Any?) {
self.navigationController?.popViewController(animated: true)
}
をどこに置くかわからなかったし、私は子供ビューコントローラのviewDidLoad(中サブビューにnavigationBarを追加)
情報、私は親ビューコントローラで何もしなかった。私がストーリーボードで作成したちょうどセグは、押されたときに子ビューコントローラーを表示します。
私は親切に私を助けてください...