3

我想为视图的所有按钮(及其所有事件)提供一个方法。到目前为止,这就是我所拥有的:

- (IBAction)uibuttonEvent:(id)idSender forEvent:(UIEvent*)uieventHandle
{
    if (idSender == [self uibuttonConnectInput]) {
        if ([uieventHandle type] == UIEventTypeTouches) {
            [[self uibuttonConnectInput] setTitle:@"did it!" forState:UIControlStateNormal];
        }

    } else if (idSender == [self uibuttonSomething]) {
        ...

    }
}

所以现在我可以检测到事件是否是UIEventTypeTouches,但我想更具体地检查它是否是例如UIControlEventTouchUpInside- 我该怎么做?

4

2 回答 2

1

正如这里所讨论的,您从 UIButton 获得的 UIEvent 不会为您提供有关哪个 UIControlEvent 导致它的任何信息。为每种事件类型注册单独的方法(推荐的解决方案)或创建自己的 UIControl 子类并使其行为不同。

于 2011-12-16T10:21:45.890 回答
0

我认为您必须为所有按钮提供不同的标签。

- (IBAction)uibuttonEvent:(id)idSender {
    int iTag =  [sender tag];
}

您可以识别按下了哪个按钮。

祝一切顺利!!!

于 2011-12-16T10:05:12.033 回答