UIButton UIControlEventTouchUpInside не запускается, но UIControlEventTouchDown запускается - PullRequest
6 голосов
/ 06 декабря 2011

Я реализую UIButton, и мое UIControlEventTouchUpInside событие не срабатывает, даже если UIControlEventTouchDown срабатывает.

UIButton *btnClose = [UIButton buttonWithType:UIButtonTypeCustom];
NSString *filePathImage = @"img.png";
NSString *filePathImageTap = @"img-tap.png";
UIImage *buttonImage = [UIImage imageWithContentsOfFile:filePathImage];
UIImage *buttonImageTap = [UIImage imageWithContentsOfFile:filePathImageTap];
[btnClose setImage:buttonImage forState:UIControlStateNormal];
[btnClose setImage:buttonImageTap forState:UIControlStateSelected];
[btnClose setImage:buttonImageTap forState:UIControlStateHighlighted];      
[btnClose addTarget:self action:@selector(close:) forControlEvents:UIControlEventTouchUpInside];    
[self.view addSubview:btnClose];

1 Ответ

3 голосов
/ 05 сентября 2012

У меня есть предположение, почему оно не принимает UIControlEventTouchUpInside:

У меня было два "BannerView" (Реклама) в двух разных ViewControllers. В одном он работал нормально, в другом я видел, как коснулся UIButton и появилось второе изображение (темнее). Но селектор не попал. Затем я понял, что Up -Event было поглощено на UISwipeGestureRecognizer от UIImageView ниже. Некоторые Recognizer соревнуются друг с другом. Я искал обзор, чтобы увидеть их, но ничего не нашел.

Другое решение: Если вы видите, что ButtonState не изменяется, вам нужно посмотреть, есть ли у вас View поверх вашей кнопки.

...