IOS ScrollView 子控制元件滑動手勢衝突
阿新 • • 發佈:2019-01-30
允許子檢視手勢延時響應
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; }