如何在執行時設定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") }
當我們多次按下導航欄上的按鈕時,產生的結果如下。
廣告