Ben*_*ger 5 uibutton nsresponder ios swift
我在快速使用响应者链时遇到问题。
当我使用 nil 目标设置按钮目标时,例如:
someButton.addTarget(nil, action:"addButtonTapped:", forControlEvents: .TouchUpInside)
Run Code Online (Sandbox Code Playgroud)
该操作将沿着响应者链向上发送,直到该操作在控制器中得到处理。到目前为止,一切都很好 :-)
但我想拦截该操作,执行一些代码并将其中继到控制器。但我无法找到一种方法来快速做到这一点。在 ObjC 中,这个任务很容易完成,所以我想在 swift 中也应该有一种方法。
预先感谢您的任何帮助:-)
我的一位同事给了我重新创建选择器并再次手动发送的提示。
let selector = Selector("someButtonTapped:")
let target: AnyObject? = self.nextResponder()?.targetForAction(selector, withSender: button)
UIApplication.sharedApplication().sendAction(selector, to: target, from: self, forEvent: nil)
Run Code Online (Sandbox Code Playgroud)
这将重新创建响应者链并将新消息中继到下一个响应者。
我希望有人会发现这很有用。
| 归档时间: |
|
| 查看次数: |
2782 次 |
| 最近记录: |