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的點擊事件。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章