在NavBar(storyboard)上向UIBarButtonItem添加动作函数ios

问题描述:

目前,我有一个navbar,它有一个UIBarButtonItem,我已经为它添加了一个动作。这里很简单的东西。出于某种原因,它从不执行该功能。我在函数中添加了一个简单的打印语句,以查看按钮是否被轻敲,但没有显示任何内容。在NavBar(storyboard)上向UIBarButtonItem添加动作函数ios

我现在没有使用navigation controller,但我已经读过,使用它可能是明智的。我很好奇,为什么这不是一个简单的navbarUIBarButtonItem。必须有,为什么故事板拒绝这个

功能的一个原因是因为以下简单:

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

您是否附加了这个IBAction为在故事板按钮? – Adeel

+0

是的,我有。我确信它是在我问这个问题之前附加的 – halapgos1

尝试使用这样的:

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

我知道我可以通过编程来完成,但我想知道如何通过故事板来完成。为什么这个动作没有与导航栏相关联,这一定是有原因的 – halapgos1