在我的应用程序中,我有多个 UIButtons
我为其添加了目标。
事实证明,最近添加的目标首先被执行,然后是剩余的目标。
例如,拿这段代码:
[button addTarget:self action:@selector(someAction:) forControlEvents:UIControlEventTouchUpInside];
[button addTarget:self action:@selector(someOtherAction:) forControlEvents:UIControlEventTouchUpInside];
如果我在 button
内部进行修饰,someOtherAction:
将在 someAction
之前被调用。
这不是我想要的。我想对目标进行排序,以便我可以在该按钮内部进行修饰,首先调用 someAction:
ability,然后是其他操作 someOtherAction:
我不确定从哪里开始,我应该继承并覆盖 UIButton
中的某些内容,还是深入 UIControl
中?
感谢您的帮助!
-大卫
最佳答案
执行此操作的最简单(虽然有点老套)的方法是复制所有 Action 选择器,将它们从目标中删除,然后重新添加所有 Action 选择器,但您希望首先发生的 Action 除外。
但是,您的要求可能是糟糕设计决策的副作用,因为这不是必要的行为。
让事情先发生的最终目标是什么?
为什么不能将这两个操作合并为一个以正确顺序执行选择器的操作?
关于objective-c - 使用 UIControl(特别是 UIButton)时如何对目标进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8828740/