将相同的IBAction添加到多个按钮。最新的Xcode,swift 3,iOS 10
在我以前认为这真的很微不足道......但现在我似乎无法做到这一点。我曾经创建过多个按钮,更改它们各自的标签,然后创建一个IBAction,它会被我的所有按钮调用!将相同的IBAction添加到多个按钮。最新的Xcode,swift 3,iOS 10
但是,这是前一阵子。现在我正在尝试做同样的事情,但似乎没有奏效。无论我做什么,我的IBAction似乎都只与一个按钮相关,并且不会被其他任何按钮触发。
我想:
@IBAction func myAction(sender: UIButton) { }
@IBAction func myAction(_ sender: UIButton) { }
@IBAction func myAction(_ sender: Any) { }
和无那些作品。这是一个错误?有没有新的方法来做到这一点?我是否被迫为每个按钮创建单独的操作,尽管每个按钮的功能都非常熟悉?
我GOOGLE了,我不能只是使这个工作大声笑,也许有一些我现在失踪了。
这是Xcode中的一个错误。希望苹果很快就会修复它的错误。
当你从按钮拖动IBAction为默认签名看起来像
@IBAction func meHere(_ sender: Any) {
//something here
}
现在,如果你添加一个按钮,并尝试设置相同的IBAction为到按钮,它不会允许(只有苹果知道为什么,虽然)
解决方案:
更改方法签名
@IBAction func meHere(_ sender: UIButton) {
}
更改任何具体的UIComponent。现在,控制从IBAction为拖动到新的按钮,一切都会好起来:)
This!我已经试过这个,但没有工作,但是,我从第一个想象中发现你发布了,我最终可以将听众拖到按钮。我认为,需要从小(+)号拖曳,这是多么的痛苦。这么小的细节大声笑。 –
@ fabian-vergara:hahahaha :)很高兴你能解决你的问题:) –
更改@IBAction FUNC myAction(_发件人:任意){}到
@IBAction func myAction(_ sender: AnyObject) { }
所以,你可以链接任何按钮,一个单一的IBAction为方法。
(控制+拖动按钮“myAction”方法在助理编辑体)
@dfd我这样做,通过故事板。不同签名的方法只是尝试不同的事情,就像其他一些帖子所建议的那样。实际上没有真正的代码,我只是想将其作为print(sender.tag)进行测试,但只有一个按钮会触发此IBAction。 –
为您的按钮添加标签值 – karthikeyan