博客> iOS,scrollview手势冲突
iOS,scrollview手势冲突
2017-08-16 01:50 评论:0 阅读:305 yutaotst
ios UITableView scrollView 手势冲突

iOS,scrollview手势冲突


1. **手势冲突**
tableviewcell可以触发点击,同时tableview的父视图有点击识别,这样点击的时候就会产生冲突。解决方法在GestureRecgnizer代理方法里面区分手势。

#pragma mark tapGestureRecgnizerdelegate 解决手势冲突
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
if ([touch.view isKindOfClass:[UITableView class]]){
    return NO;
}
if ([NSStringFromClass([touch.view class]) isEqualToString:@"UITableViewCellContentView"]) {
    return NO;
}
return YES;
}
2. **两个控件之间的手势冲突**
我在一个横向滚动的scrollview里面加了一个竖向滚动的tableview,这时如果实现了scrollview的代理方法却没有区分scrollview和tableview,这时候tableview的滚动会发生混乱。解决方法是在didScroll代理方法里区分这两个。

#pragma mark - scrollView delegate
-(void)scrollViewDidScroll:(UIScrollView *)scrollView{
if ([scrollView isKindOfClass:[UITableView class]]) {
   // NSLog(@"------tableVIew---");
 }
 else {
   // NSLog(@"------scorllView----");

 }
}
收藏
1
sina weixin mail 回到顶部