是否可以为 UIBarButtonItem 注册 2 个操作?
具体来说,我指的是 ABPersonViewController 中存在的“取消”UIBarButtonItem。此按钮后面有一个默认操作,我不想更改它,但我想为按下此按钮时添加一个新操作。
关于如何做到这一点的任何想法?
谢谢!
是否可以为 UIBarButtonItem 注册 2 个操作?
具体来说,我指的是 ABPersonViewController 中存在的“取消”UIBarButtonItem。此按钮后面有一个默认操作,我不想更改它,但我想为按下此按钮时添加一个新操作。
关于如何做到这一点的任何想法?
谢谢!
由于我误解了这个问题,我删除了我之前的答案。不确定此应用程序是否需要获得苹果 b/c 的批准,不确定您能否以“合法”的方式获得指向取消按钮的指针,但我假设您可以使用该按钮。
当您第一次展示人员视图控制器时,您可以从target
和action
属性中获取它的默认目标和操作并保存它们。然后将它们设置为自定义target
和action
. 当您的自定义操作被调用时,将默认操作发送到默认目标,然后执行您的自定义行为。
这是我最好的主意,希望它有效!
假设您可以获得对按钮的引用,您应该能够调用addTarget:action:forControlEvents:
以添加另一个操作。
我偶然发现,UIButton
当我(我认为)根据 UI 的状态替换按钮上的操作时,您可以这样做,但实际上我是在向按钮添加操作。这是我了解removeTarget:action:forControlEvents:
. :-)
话虽如此,如果您有一个显示“取消”的按钮,并且您用用户可见的额外内容重载它,这可能会让用户感到困惑。如果您只是想在用户点击取消时在后台发生一些事情,那么这是一种有趣的方式来完成它!我喜欢。