如何在运行时设置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+ 次浏览

启动您的职业生涯

通过完成课程获得认证

开始
广告