Méthode d'appel lorsque le button quitte l'état en surbrillance

Je veux effectuer une action lorsqu'un button est en surbrillance et effectuer une autre action lorsqu'il quitte l'état en surbrillance. Aucun conseil?

Vous pourriez utiliser KVO

[button addObserver:self forKeyPath:@"highlighted" options:NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld context:NULL]; 

alors

 - (void)observeValueForKeyPath:(NSSsortingng *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context { if ([@"highlighted" isEqualToSsortingng:keyPath]) { NSNumber *new = [change objectForKey:@"new"]; NSNumber *old = [change objectForKey:@"old"]; if (old && [new isEqualToNumber:old]) { NSLog(@"Highlight state has not changed"); } else { NSLog(@"Highlight state has changed to %d", [object isHighlighted]); } } } 

Vous vous souciez uniquement des changements et cela sera appelé chaque fois que l'état change, par exemple si vous bougez select et ensuite avec votre doigt encore en bas glisser à l'extérieur du button

Comme ça?

 self.testButton = [UIButton buttonWithType:UIButtonTypeRoundedRect]; [self.testButton addTarget:self action:@selector(methodOne) forControlEvents:UIControlEventTouchDown]; [self.testButton addTarget:self action:@selector(methodTwo) forControlEvents:UIControlEventTouchUpInside];