为UIBarButtonItem设置2个动作

时间:2011-04-11 16:37:32

标签: iphone objective-c uibarbuttonitem abaddressbook

是否可以为UIBarButtonItem注册2个动作?

具体来说,我指的是ABPersonViewController中存在的“取消”UIBarButtonItem。此按钮后面有一个默认操作,我不想更改,但我想在按下此按钮时添加一个新操作。

关于如何做到这一点的任何想法?

谢谢!

2 个答案:

答案 0 :(得分:1)

我删除了之前的答案,因为我误解了这个问题。不确定这个应用程序是否需要苹果b / c批准,不确定你是否可以以“合法”的方式获得指向取消按钮的指针,但我会假设你可以点击按钮。

当您首次展示人物视图控制器时,您可以从targetaction属性获取默认目标和操作并保存它们。然后将其设置为自定义targetaction。调用自定义操作时,将默认操作发送到默认目标,然后执行自定义操作。

这是我最好的主意,希望它有效!

答案 1 :(得分:0)

假设您可以获得对该按钮的引用,您应该可以致电addTarget:action:forControlEvents:添加其他操作。

我偶然发现,当我(我认为)根据UI的状态替换按钮上的操作时,你可以对UIButton执行此操作,但实际上我是在向按钮添加操作。这是我了解removeTarget:action:forControlEvents:的时候。 : - )

尽管如此,如果您有一个显示“取消”的按钮,并且您使用用户可见的额外内容重载它,这可能会让用户感到困惑。如果您只是想在用户点击取消时在后台发生某些事情,那么这是一种有趣的方法来完成它!我喜欢那样。