如何在執行時設定UIBarButtonItem的目標和動作?


要在執行時建立一個條形按鈕動作,我們需要經過幾個步驟。首先,讓我們從建立一個新專案開始。

建立專案後,直接轉到它的故事板,選擇ViewController並將其嵌入導航控制器。

現在轉到相應的ViewController類,在其中,我們將執行一些步驟,這些步驟將在執行時將按鈕新增到導航欄。

建立一個objc函式,該函式應在按下按鈕時呼叫。

@objc func barButtonAction() {
   print("Button pressed")
}

現在將viewWillLayoutSubviews方法新增到您的類。

首先,我們現在建立一個條形按鈕。

let barButton = UIBarButtonItem()

然後我們將為這個條形碼命名

barButton.title = "custom"

現在,我們將向此條形碼新增自定義操作,並將其目標設定為self

barButton.action = #selector(barButtonAction)
barButton.target = self

現在,我們將此按鈕新增到應用程式的導航欄。

self.navigationItem.setLeftBarButton(barButton, animated: true)

這就是完整程式碼的樣子。當我們在裝置上執行上述程式碼時,它看起來像這樣。

override func viewWillLayoutSubviews() {
   let barButton = UIBarButtonItem()
   barButton.title = "custom"
   barButton.action = #selector(barButtonAction)
   barButton.target = self
   self.navigationItem.setLeftBarButton(barButton, animated: true) }
   @objc func barButtonAction() {
   print("Button pressed") }

當我們多次按下導航欄上的按鈕時,產生的結果如下。

 

更新於:2019年7月30日

1K+ 次瀏覽

啟動您的職業生涯

透過完成課程獲得認證

開始
廣告