【发布时间】:2019-11-28 18:38:08
【问题描述】:
我在 Navigation Controller 中嵌入了一个 MainViewController,如下所示:
在 MainViewController.swift 中,我以编程方式添加了两个 UIBarButtonItem(left 和 right):
class MainViewController: UIViewController {
let rightButton = UIBarButtonItem(title: "Right", style: .plain, target: self, action: #selector(onRightClick))
let leftButton = UIBarButtonItem(title: "Left", style: .plain, target: self, action: #selector(onLeftClick))
override func viewDidLoad() {
super.viewDidLoad()
navigationItem.rightBarButtonItem = rightButton
navigationItem.leftBarButtonItem = leftButton
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
@objc func onRightClick() {
print("[Main] Right Click")
}
@objc func onLeftClick() {
print("[Main] Left Click")
}
}
按钮确实显示在屏幕上,但有趣的是,当我按下左或右按钮时,选择器函数onLeftClick 和onRightClick 永远不会被调用。我应该做些什么来让它发挥作用吗?我正在使用 Xcode 9.3。
【问题讨论】:
标签: swift selector uibarbuttonitem