ios5.1 UITapGestureRecognizer UIControlEventTouchUpInside

       在UIButton的superview中定义一个手势,在iOS5上UIButton事件不会被执行,会执行手势事件,iOS6上已经没有这个问题了,解决方法:

       手势添加委托,委托方法:

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
    // test if our control subview is on-screen
    if (_view.superview != nil) {
        if ([touch.view isDescendantOfView:_view] && [touch.view isKindOfClass:[UIButton class]]) {
            // we touched our control surface
            return NO; // ignore the touch
        }
    }
    return YES; // handle the touch
}

这样手势不再执行,会执行UIButton的点击事件。

你可能感兴趣的:(Ios5.1)