如何使UIScrollView滚动手势“子服务”

时间:2013-10-23 10:30:58

标签: ios iphone objective-c uiscrollview

我使用“subservient”这个词,因为我不知道正确的用语。我尝试过各种各样的东西来使我的UIScrollView成为最后一个要检查的手势,这样属于滚动视图子视图的手势就会在滚动视图之前或之后触发。

例如,我有一个包含子视图的滚动视图,该子视图具有平移手势识别器。当我尝试平移时,有时滚动视图的平移会触发,有时子视图的平移手势会触发。如果直接拖动该视图,我希望子视图的手势一致而不是滚动视图。

1 个答案:

答案 0 :(得分:0)

您是否尝试将scrollview的“delaysContentTouches”属性设置为true?

或者您可以继承UIScrollVeiw并覆盖touchesShouldCancelInContentView:方法,如下所示:

-(BOOL)touchesShouldCancelInContentView:(UIView *)view
{

    if ([view isKindOfClass:[UIButton class]]) {//or whatever class you want to override
        return YES;
    }

    if ([view isKindOfClass:[UIControl class]]) {
        return NO;
    }

    return YES;
}