没有为 UIBarButtonItem 调用 iOS 选择器
Posted
技术标签:
【中文标题】没有为 UIBarButtonItem 调用 iOS 选择器【英文标题】:iOS selector not getting called for UIBarButtonItem 【发布时间】:2018-12-12 19:53:53 【问题描述】:我有一些相当简单的代码,并试图弄清楚为什么 uibarbuttonitem 没有触发选择器:
TableView 的viewDidLoad
方法:
override func viewDidLoad()
super.viewDidLoad()
// Uncomment the following line to preserve selection between presentations
self.clearsSelectionOnViewWillAppear = false
// this line adds a button to top right
let addNewChecklistItemButton = UIBarButtonItem(barButtonSystemItem: .add,
target: nil,
action: #selector(self.addNewChecklistItemToDataModel))
self.navigationItem.rightBarButtonItem = addNewChecklistItemButton
方法调用:
@objc func addNewChecklistItemToDataModel()
print("adding new item...")
<...>
正在添加按钮(在我输入此代码之前不可见),当我按下它时,按钮单击动画,但我的控制台不显示打印的文本。
在阅读UIBarButtonItem selector not working 之后,我想知道我的UITableViewController
嵌入在UITabViewController
和UINavigationViewController
中是否会影响按钮的范围?如果没有,有人看到我缺少的东西吗?
【问题讨论】:
【参考方案1】:目标不应为零
let addNewChecklistItemButton = UIBarButtonItem(barButtonSystemItem: .add,
target: self,
action: #selector(self.addNewChecklistItemToDataModel))
【讨论】:
以上是关于没有为 UIBarButtonItem 调用 iOS 选择器的主要内容,如果未能解决你的问题,请参考以下文章
UIBarButtonItem 如何禁用辅助功能 (iOS)
带有customView的自动布局iOS 11工具栏UIBarButtonItem
UIToolBar 上的 UIBarbuttonItem 的动作没有被调用