Frage

I want to have a single method for all the buttons (and all their events) of a view. So far this is what I've got:

- (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]) {
        ...

    }
}

So now I can detect whether the event is a UIEventTypeTouches or not, but I want to check more specifically whether it is e.g. UIControlEventTouchUpInside - how can I do that?

War es hilfreich?

Lösung

As discussed here the UIEvent that you get from UIButton doesn't give you any information about which UIControlEvent caused it. Either register separate methods for each event type (the recommended solution) or make your own subclass of UIControl and make it behave differently.

Andere Tipps

I think you have to give different tag for all that button.

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

You can identify which button was pressed.

All the best!!!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top