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]; 

我有一个假设,为什么它不采取UIControlEventTouchUpInside

我在两个不同的ViewController中有两个“BannerView”(广告)。 在一个它只是在另一个很好的工作,我看到UIButton如何被触及和第二个图像(较暗)出现。 但select器没有被击中。 然后我意识到, Up -Event被一个UISwipeGestureRecognizerUIImageView下面UISwipeGestureRecognizer了。 一些Recognizer相互竞争。 我search了一个概述,看到这些巫婆,但什么也没有发现。

另一种解决scheme:如果你看到ButtonState没有改变,你必须看看你是否有一个查看你的button。