以编程方式调用已设置的UIBarButtonItem操作

时间:2018-11-27 16:21:42

标签: ios objective-c swift uibarbuttonitem

我正在创建我认为将会是一个非常不错的iOS自动测试套件。但是,我需要能够为任何给定的UIBarButtonItem调用先前设置的动作。我可以从调试器中得知,我确实在处理UIButton,但是尝试采用不同方式进行该操作的几周都失败了。如果有人能找到如何调用该选择器的方法,我将非常高兴。

我又不想设置一个动作,我想称呼别人已经设置的动作。

1 个答案:

答案 0 :(得分:0)

我认为您正在寻找类似的内容。

for rightButton in navigationItem.rightBarButtonItems ?? [] {
    if let target = rightButton.target,
        let selector = rightButton.action {
        target.perform(selector)
    }
}

它当前在右栏中的按钮项之间循环,并为每个项收集targetselector。如果已设置,则只需在该selector上执行该target

您可以对左键按钮项目进行操作。