如何在运行时设置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") }
当我们多次按下导航栏上的按钮时,产生的结果如下。
广告