1. 程式人生 > >IOS ScrollView 子控制元件滑動手勢衝突

IOS ScrollView 子控制元件滑動手勢衝突

允許子檢視手勢延時響應

delaysContentTouches設 置為YES,

CanCancelContentTouches設定為NO

以上設定了只是達到停頓0.5秒後,子控制元件可以手勢拖動

如果想直接響應,重寫ScrollView 的 touches方法,判斷傳入的檢視

而後使用- (BOOL)touchesShouldCancelInContentView:(UIView *)view來決定scrollview是否需要滾動。 

delaysContentTouches設 置為NO, 取消延遲響應

CanCancelContentTouches設定為 YES ,這樣才能響應 touchesShouldCancelInContentView方法


@implementation ImageScrollView

-(instancetype)initWithFrame:(CGRect)frame
{
    
    if (self == [super initWithFrame:frame]) {
        ;
    }
    return self;
    
}

-(instancetype)init
{
    self = [super init];
    return self;
}

-(BOOL)touchesShouldCancelInContentView:(UIView *)view
{
    
    if ([view isKindOfClass:[UIImageView class]])
    {
        return NO;
    }
    
    return YES;
}