2017-08-09 37 views
0

目前,我有一個navbar,它有一個UIBarButtonItem,我已經爲它添加了一個動作。這裏很簡單的東西。出於某種原因,它從不執行該功能。我在函數中添加了一個簡單的打印語句,以查看按鈕是否被輕敲,但沒有顯示任何內容。在NavBar(storyboard)上向UIBarButtonItem添加動作函數ios

我現在沒有使用navigation controller,但我已經讀過,使用它可能是明智的。我很好奇,爲什麼這不是一個簡單的navbarUIBarButtonItem。必須有,爲什麼故事板拒絕這個

功能的一個原因是因爲以下簡單:

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

您是否附加了這個IBAction爲在故事板按鈕? – Adeel

+0

是的,我有。我確信它是在我問這個問題之前附加的 – halapgos1

回答

0

嘗試使用這樣的:

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