1

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

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

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

谢谢!

4

2 回答 2

1

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

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

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

于 2011-04-11T16:57:51.693 回答
0

假设您可以获得对按钮的引用,您应该能够调用addTarget:action:forControlEvents:以添加另一个操作。

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

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

于 2011-04-11T17:10:50.957 回答