tableview联合滚动的坑

需求是可以上下、左右滑动的效果,我的方案是tableview+(tableview+scrollview),很简单,如图


嵌套简图.png

蓝色为手机屏幕,黄色为左侧固定展示的tableview,橙色为scrollview嵌套tableview,实现上下、左右滑动。通过scrollViewDidScroll绑定两个tableview的滚动, - (void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated实现急停效果,联合运用trackingdraggingdecelerating等属性实现体验优化,不作赘述。使用tableFooterView属性构建tableview的脚视图,实现点击加载更多,左侧tableview的脚视图设置为屏宽,tableview.tableFooterView.clipsToBounds = NO可实现脚视图超越父视图进行展示(或将左侧tableview的宽度设为屏宽)。右侧横滑tableview的脚视图设置为其自身tableview宽度,颜色透明,点击事件和右侧tableview执行统一方法,统一reload。

然而,坑来了,reload之后向下拖动的时候视图会出现抖动,二者偏移量会持续出现差值(16),即使设置统一的contentOffset也无效。

解决办法:


    if(@available(iOS11.0, *)) {

        [UITableView appearance].estimatedRowHeight = 0;

        [UITableView appearance].estimatedSectionFooterHeight = 0;

        [UITableView appearance].estimatedSectionHeaderHeight = 0;

        [UITableView appearance].contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;

        [UIScrollView appearance].contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;

    }

放到didFinishLaunchingWithOptions,OK!
有关tableview出现的任何毫无缘由的bug,尝试适配一下iOS11很可能会有惊喜,比如我。。。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AGI阅读 16,009评论 3 119
  • 看壮志潜龙特别佩服主人公卡尔锲而不舍的精神,满满地正能量,给予迷茫中的自己满满地感动,人必须先有梦想然后想方设法去...
    FAB默默阅读 157评论 0 0
  • 作为一个文字表述能力不太强的rocker,编写技术博客对我来说的确是一个不小的挑战。随着工作中遇到的挑战不断...
    八目朱勇铭阅读 579评论 2 2
  • 这几天一直在想一个问题,一个让我不知道该怎么办的问题。 如果某天在商场看到渣男和三儿我该怎么办? 是直接无视?还是...
    小傻傻94阅读 297评论 0 0
  • 对于宇宙,我是他珍贵的孩子。他充满爱的注视,是给予我的绵绵不绝的和平的礼物,我敞开自己去接受。我知道我的真实身份,...
    英杰旺姆阅读 153评论 0 0