【问题标题】:How to make UIScrollView scroll gesture "sub-servient"如何使 UIScrollView 滚动手势“从属”
【发布时间】:2013-11-01 13:59:44
【问题描述】:

我使用“服从”这个词,因为我不知道正确的术语。我尝试了各种方法来使我的 UIScrollView 成为要检查的最后一个手势,以便属于滚动视图的子视图的手势将在滚动视图之前或代替滚动视图触发。

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

【问题讨论】:

    标签: ios iphone objective-c uiscrollview


    【解决方案1】:

    您是否尝试将滚动视图的“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;
    }
    

    【讨论】:

    • 如果这不起作用,您将不得不子类化滚动视图和您正在使用的视图,并拦截来自滚动视图的触摸事件并将它们发送到该视图
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-13
    • 2014-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-08
    • 1970-01-01
    相关资源
    最近更新 更多