J'ai deux UIViewController (je n'ai pas utilisé UINavigationController) qui sont nommés ParentViewController et ChildViewController.Définir la cible UIBarButtonItem par programme à la vue précédente Contrôleur
Cependant, je ne peux pas ajouter UINavigationBar en utilisant le storyboard pour le contrôleur de vue enfant, donc j'ajoute le UINavigationBar avec UIBarButtonItem à l'intérieur de celui-ci par programmation.
J'ai réussi à ajouter la barre de navigation et l'élément de bouton de barre au contrôleur de vue enfant. Le problème est que je ne peux pas définir la cible pour le UIBarButtonItem, donc quand il est pressé, le contrôleur de la vue Parent apparaîtra.
C'est le code que je l'utilise, mais je ne sais pas où les mettre
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)
}
Et puis-je ajouter le navigationBar à la sous-vue dans le contrôleur Enfants viewDidLoad()
Pour votre informations, je n'ai rien fait dans le contrôleur de vue parent. C'est juste la séquence que j'ai créée sur le storyboard pour montrer le contrôleur de vue enfant lorsqu'il est pressé.
s'il vous plaît bien vouloir me aider ...