29,041
社区成员
发帖
与我相关
我的任务
分享
- (IBAction)tapAction:(UITapGestureRecognizer *)gesture {
if (CGRectContainsPoint(self.btn.frame, [gesture locationInView:self.btn])) {
NSLog(@"btn clicked.");
} else {
NSLog(@"tap clicked.");
}
}
判断点击是不是发生在Button里。
2. 放弃使用Button,用一个TapGesture来代替,这种情况下,你就有两个TapGesture了,你把self.view上的TapGesture的requireGestureRecognizerToFail:方法设置为小范围的那个Gesture,这么一来,只有当小的Gesture没有触发的情况下,大的Gesture才会被触发。
3. Button保留,self.view上的Gesture放弃,在loadView方法里,把self.view覆盖成UIControl的实例(或者在Xib里把view的Class改为UIControl),这么一来,self.view是可以直接支持点击方法的,与Button类似。subview.userInteractionEnabled = NO;