pujiaxin33 / JXPagingView

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

CollectionView设置ContentInset时有问题 #100

Closed CliffVardant closed 5 years ago

CliffVardant commented 5 years ago

bug提交前阅读 1.请先仔细阅读文档,尤其是【其他注意事项】文档,里面有常见问题的解决方案; 2.请先搜索已有的Issues,尝试找到相同问题的讨论; 3.请先阅读相关类的API、源码,尝试从源码找到答案; 4.如果以上步骤都未能解决你的疑问,欢迎提交ISSUE;

bug描述 下方ContentViewController的滑动视图是UICollectionView,设置contentInset.top时,会出现奇怪的抖动。

版本号 1.JXPagingView版本号:? 2.OC还是Swift版本:OC 3.手机系统版本号:? 4.手机型号:?

复现步骤

  1. 遇到问题的相关效果、类是:? 2.具体的操作步骤是:?

截图、GIF 提供bug出现时的截图或者GIF。

如果想做成像马蜂窝那种类型,请问这个库支持吗 https://s2.ax1x.com/2019/07/05/ZacFsK.md.png

pujiaxin33 commented 5 years ago

你能有关键代码么?

pujiaxin33 commented 5 years ago

马蜂窝这个效果没有问题啊,就是list是collectionView而已,你有什么难点吗?

CliffVardant commented 5 years ago

当collectionview设置了contentInset.top后,滑动起来就很奇怪。 这是我demo的设置,你可以看看 下载链接

pujiaxin33 commented 5 years ago

你能传我qq邮箱吗: 317437084@qq.com 百度非让我下载网盘,很不爽

CliffVardant commented 5 years ago

你能传我qq邮箱吗: 317437084@qq.com 百度非让我下载网盘,很不爽

好的,发过去了

pujiaxin33 commented 5 years ago

加上_collectionView.delegate = self;才能收到滚动的回调。

CliffVardant commented 5 years ago

加上_collectionView.delegate = self;才能收到滚动的回调。

好的,这是我的失误,漏写了这个。 但写上后,contentInset没有生效啊😂

pujiaxin33 commented 5 years ago

别急,目前暂不支持列表设置了contentInset,我正在看代码

pujiaxin33 commented 5 years ago

最新版本1.1.14,已经兼容处理了。

CliffVardant commented 5 years ago

我更新了你的库后,设置了contentInset后,vertical方向的滑动没问题了。 但在contentInset.top区域内设置一个horizon的CollectionView后,发现无法滚动了😂 在ContainerViewController中也做了相关的手势设置

- (BOOL)mainTableViewGestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {
    //禁止categoryView左右滑动的时候,上下和左右都可以滚动
    UICollectionView *horizonCollectionView = ((TestViewController *)[self.pagerView.validListDict objectForKey:@(self.categoryView.selectedIndex)]).horizonCollectionView;
    if (otherGestureRecognizer == self.categoryView.collectionView.panGestureRecognizer || otherGestureRecognizer == horizonCollectionView.panGestureRecognizer) {
        return NO;
    }
    return [gestureRecognizer isKindOfClass:[UIPanGestureRecognizer class]] && [otherGestureRecognizer isKindOfClass:[UIPanGestureRecognizer class]];
}
pujiaxin33 commented 5 years ago

把你最新demo发给我呢?

pujiaxin33 commented 5 years ago

image 红色箭头两处,上面添加,下面删除。

pujiaxin33 commented 5 years ago

还有就是一点小小的建议,写demo验证的时候,尽量严谨一点点,比如上面漏代码这个还是比较低级的错误,这样子你找别人,看了半天结果就是无关紧要的逻辑漏洞,这个还是很浪费时间的哈。 当然如果你充分思考验证也解决不了的问题,我也是愿意解答的。

CliffVardant commented 5 years ago

感谢你解答我的疑问,star已送上😁