【问题标题】:iOS selector not getting called for UIBarButtonItem没有为 UIBarButtonItem 调用 iOS 选择器
【发布时间】: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 嵌入在UITabViewControllerUINavigationViewController 中是否会影响按钮的范围?如果没有,有人看到我缺少的东西吗?

【问题讨论】:

    标签: swift uikit uinavigationbar selector uibarbuttonitem


    【解决方案1】:

    目标不应为零

     let addNewChecklistItemButton = UIBarButtonItem(barButtonSystemItem: .add,
                                                    target: self,
                                                    action: #selector(self.addNewChecklistItemToDataModel))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-12
      相关资源
      最近更新 更多