pujiaxin33 / JXPagingView

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

遵循JXPagingViewListViewDelegate协议的下方列表视图无法响应事件 #507

Closed yly6518 closed 7 months ago

yly6518 commented 7 months ago

bug描述
复现步骤

当遵循JXPagingViewListViewDelegate协议返回的view是collectionview,并且设置了isPagingEnabled = true,会导致上划cell,在header吸顶之后,collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) 代理方法无法响应第一次点击事件。同时,只要header一直处于吸附状态,上划collectionview,所有出现的cell都无法响应第一次点击事件。

不设置isPagingEnabled = true 则正常。 Demo工程中已复现,将PagingListBaseView中的tableview替换成collectionview,并设置了isPagingEnabled = true```,必定复现。

查看过 关于下方列表视图的代理方法- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath有时候需要点击两次才回调这个说明,但实际上不仅仅是didSelectItemAt代理无法第一次响应,cell上所有的按钮也无法首次交互,同样的,当collectionview完成滚动后,等待一段时间,是可以响应触碰事件的,但无法提过上文描述解决问题。

版本号 1.JXPagingView版本号:2.1.2 2.OC还是Swift版本:Swift 3.手机系统版本号:16.6 4.手机型号:iPhone 12 Pro Max

截图、GIF 提供bug出现时的截图或者GIF。 1 图1,header未吸顶,点击item0,触发didSelectItemAt代理

2 图2,上划collectionview, header吸顶,点击item0,没有触发didSelectItemAt代理,再次点击,触发。

3 图3,继续上划collectionview,header处于吸顶状态,点击item1,没有触发didSelectItemAt代理,再次点击,触发。

yly6518 commented 7 months ago

设置pagingView.mainTableView.isPagingEnabled = true解决了问题