2017-08-09 2 views
0

Actuellement, j'ai un navbar qui a un UIBarButtonItem et j'ai ajouté une action. Des trucs très simples ici. Pour une raison quelconque, il n'exécute jamais la fonction. J'ai mis dans une déclaration d'impression simple dans la fonction pour voir si le bouton est tapé mais rien n'est affiché.Ajout de la fonction d'action à UIBarButtonItem sur NavBar (storyboard) ios

Je n'utilise pas un navigation controller dès maintenant, mais j'ai lu qu'il serait peut-être judicieux de l'utiliser. Je suis curieux de savoir pourquoi cela ne fonctionne pas avec un simple navbar et UIBarButtonItem. Il doit y avoir une raison pour laquelle storyboard rejette cette

fonction est aussi simple que:

@IBAction func didTap(_ sender: UIBarButtonItem) { 
    print("button tapped") 
} 
+0

Avez-vous joint ce IBAction avec le bouton dans le story-board ? – Adeel

+0

Ouais, j'ai. Je me suis assuré qu'il était attaché avant que je pose cette question – halapgos1

Répondre

0

essayer d'utiliser ceci:

override func viewDidLoad() { 
     super.viewDidLoad() 
     //custom bar button 
     let btn1 = UIButton() 
     btn1.setImage(UIImage(named: "back"), for: .normal) 
     btn1.frame = CGRect(x:0, y:0, width:15, height:20) 
     btn1.addTarget(self, action: #selector(popHome), for: .touchUpInside) 
     self.navigationItem.setLeftBarButton(UIBarButtonItem(customView: btn1), animated: true); 

    } 

    func popHome(){ 
     //you action code 
    } 
+0

Je sais que je pourrais le faire par programmation, mais je me demandais comment le faire via storyboard. Il doit y avoir une raison pour laquelle cette action n'est pas associée à la barre de navigation – halapgos1