情诗网 >套路情话 > 正文

TableView嵌套的思路

来源:情诗网    2020-12-25    分类:套路情话

在实际代码中,我们iOS的tableView经常会有需要嵌套的情况。

一般来说,嵌套时需要控制上层和下层两个scrollView的滑动时机,我这里提供一种思路来实现。(代码是很耦合的,不容易抽离)

上层scrollView的滑动手势,下层scrollView会没有反应。
这是因为scrollView默认拦截了其他view上面的手势操作,所以要实现如下的方法:

/**
 同时识别多个手势

 @param gestureRecognizer gestureRecognizer description
 @param otherGestureRecognizer otherGestureRecognizer description
 @return return value description
 */
-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer 
shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
  return YES;
}

上面的方法,就是我们接下来操作的逻辑基础。

因为这个时候,我们在上层scrollView pan手势,两个scrollView都会实现回调方法,进行滚动。

此时,我们就能随心所欲的控制这两个scrollView的滚动。
比如以下几种情况:
1、滚动底层scrollView,达到一个偏移量时,滚动上层scrollView
(对于处于不可滚动状态的scrollView,直接设置contentOffset来固定其位置,因为scrollView的回调方法,不是连续的)
2、左右滑动底层scrollView时,限制上层scrollView同时滚动

热门文章