域名怎么创建网站吗,如何在外管局网站做付汇延期,网站哪类业务建设投入会带来间接收益,天津优化公司我们有这样一个场景#xff0c;就是页面上有一个大的tableView#xff0c; 每一个cell都是和屏幕一样高的#xff0c;然后cell中还有一个可以 tableView#xff0c;比如直播间的情形#xff0c;这个时候如果我们拖动 cell里面的tableView滚动的话#xff0c;如果滚动到内…我们有这样一个场景就是页面上有一个大的tableView 每一个cell都是和屏幕一样高的然后cell中还有一个可以 tableView比如直播间的情形这个时候如果我们拖动 cell里面的tableView滚动的话如果滚动到内部tableView的边缘会带动外层的tableView滚动效果如下
这是iOS ScrollView嵌套使用时候自带的一个机制但是这个效果是我们不想要的我们想要的效果是我们滚动cell里面的tableView的时候滚动到边缘不会带动外层的tableView滚动 经过调试发现我们拖动cell中的tableView的时候 如果该tableView 已经滚动到边缘了则cell中的tableView不会滚动系统会自动处理会执行外部的滚动这个时候是没有问题的符合我们的需求 还有一种情况是需要我们处理的就是当我们滚动 cell里面的tableView (a)的时候cell里面的tableView没有滚动到边缘这个时候当该a 滚动到边缘就会带动 外层的tableView滚动这是我们不想要的 我们可以这样处理自定义一个tableView 重写 gestureRecognizerShouldBegin 方法在该方法里面 将外层tableView设置为不可滚动 即, 这里要知道一个机制就是如果我们开始拖动的时候a已经滚动到边缘了则他的 gestureRecognizerShouldBegin 不会调用
interface LBConfictTableView () UIGestureRecognizerDelegateendimplementation LBConfictTableView- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer
{NSLog(哈哈哈哈哈哈内层的开始方法内层的开始方法);self.bigTableView.scrollEnabled NO;return YES;
}end
然后在停止滚动的时候将外层tableView设置为可以滚动
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{self.tableView.bigTableView.scrollEnabled YES;
}
看效果图