pujiaxin33 / JXPagingView

类似微博主页、简书主页等效果。多页面嵌套,既可以上下滑动,也可以左右滑动切换页面。支持HeaderView悬浮、支持下拉刷新、上拉加载更多。
MIT License
2.91k stars 566 forks source link

关于smoothviewHeader #238

Closed escapePlan-sp closed 4 months ago

escapePlan-sp commented 4 years ago

Feature描述 请简单描述你想要的效果:? smoothviewheader是一个tableview,目前做成了tableview内部不能滑动,因为业务需要埋点监听每一个tablecell的显示,有没有好的方案

pujiaxin33 commented 4 years ago

第一个建议:可以看看这个库:https://github.com/pujiaxin33/JXPageListView 这个库顶部就不是header,而是cell。但是这个库整体原理相差比较大,就看适不适合你的需求了。

pujiaxin33 commented 4 years ago

第二建议:脑补想到的方案就是,实现代理方法- (void)mainTableViewDidScroll:(UIScrollView *)scrollView。监听滚动,然后把一直取屏幕最下面的一个point,然后把这个point convert到你的header上面的tableView,然后tableView在把这个point转化为indexPath,- (nullable NSIndexPath *)indexPathForRowAtPoint:(CGPoint)point;

这个之间的转化你的多调试一下了。

escapePlan-sp commented 4 years ago

JXPageListView不支持延续滑动。smoothview在header是巨大的tableview时不能复用也不是太合适。目前我的方案是 在tableview(禁止滑动)下层放置一个uiscrollview 将scrollview的pangesture手势传递给self.view tableview的滑动全部靠scrollview来驱动。你可以看下淘宝,京东,考拉的细节,当滑动触摸点在pinheader上的时候,下面的视图会跟着滑动,通过这个细节说明他们也是通过手势驱动实现的,其中个人猜测京东还做了加速计使得滑动减速。而转转不能通过pinheader实现驱动下面视图 可能跟你的smoothview原理类似。

pujiaxin33 commented 4 years ago

感谢分享这么多不同方案,基于JXPagerSmoothView的方案,目前只能这样了。如果你能自己兼容处理,那就最好了。