UIButton UIControlEventTouchUpInside не запускается, но UIControlEventTouchDown запускается
Я реализую 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 ответ
У меня есть предположение, почему он не принимает UIControlEventTouchUpInside
:
У меня было два "BannerView" (Реклама) в двух разных ViewControllers. В одном он работал нормально, в другом я видел, как UIButton
был тронут, и появилось второе изображение (темнее). Но селектор не попал. Тогда я понял, что Up
- Событие было поглощено UISwipeGestureRecognizer
из UIImageView
ниже. Немного Recognizer
конкурировать друг с другом. Я искал обзор, чтобы увидеть их, но ничего не нашел.
Другое решение: если вы видите, что ButtonState не изменяется, вам нужно посмотреть, есть ли у вас View над вашей кнопкой.