思路一:
func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWithGestureRecognizer otherGestureRecognizer: UIGestureRecognizer) -> Bool {
return true
}
自定义顶层的tableView,在自定义的tableView中实现该方法,
然后根据tableView的contentOffset决定是顶部tableView滚动还是底部tableView滚动,
如果是顶部滚动,就在底部tableView的ScrollDidScroll方法中 设置底部tableView的contentOffset为固定值
如果是底部tableView滚动,就在顶部tableView的scrollDidScroll方法中,设置顶部table的contentOffset为固定值
至于固定值是多少,跟你你的需求来定。
重写方法的作用是让手势事件一直往底层传递,不论最顶层是否有对象响应该事件。
作者:光潇
链接:https://www.zhihu.com/question/41716469/answer/118275997
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
例子:https://github.com/RangoLee/MFNestTableView
https://github.com/Fdevelopmenter/UITableViewNesting
思路二:
在内嵌的collectionView进行布局的时候,拿到contentSize的高度h,然后在更新tableView cell的高度等于h.
在tableView cellForRow阶段对cell中的collectionView reloadData,然后调用layoutIfNeeded()获取到的contentSize,并记录下这个高度h