UIControlEventTouchCancel не вызывает функцию

У меня есть две кнопки в моем XIB-файле. Это мой интерфейсный файл

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController
@property (strong, nonatomic) IBOutlet UIButton *testButtonOut;
@property (strong, nonatomic) IBOutlet UIButton *button2;

- (IBAction)testButton:(id)sender;
- (void)buttonReleased;

@end

Это реализации двух функций в моем файле реализации

- (IBAction)testButton:(id)sender {
    button2.highlighted=YES;
   [testButtonOut addTarget:self action:@selector(buttonReleased) forControlEvents:UIControlEventTouchCancel];
}

- (void)buttonReleased{
    button2.highlighted=NO;
}

Когда я нажимаю на testButton и отпускаю, он не вызывает функцию buttonReleased (я использовал точку останова для проверки), но если я изменяю UIControlEventTouchCancel на UIControlEventTouchUpInside, он вызывает функцию buttonReleased, когда я нажимаю на нее, но я не хочу ее запускать при нажатии кнопки я хочу активировать ее при отпускании кнопки, я также пытался использовать TouchUpOutside, но это тоже не сработало. Какое событие следует использовать, чтобы оно вызывало функцию buttonReleased, когда я освобождаю событие click from button?

1 ответ

Вместо
Использование UIControlEventTouchCancel
"UIControlEventTouchUpInside."

Другие вопросы по тегам