pujiaxin33 / JXCategoryView

A powerful and easy to use category view (segmentedcontrol, segmentview, pagingview, pagerview, pagecontrol) (腾讯新闻、今日头条、QQ音乐、网易云音乐、京东、爱奇艺、腾讯视频、淘宝、天猫、简书、微博等所有主流APP分类切换滚动视图)
MIT License
6.1k stars 1.16k forks source link

listDidAppear 时 view.superview 为空 #454

Open klaus01 opened 2 years ago

klaus01 commented 2 years ago

bug描述 我的界面在 viewDidAppear 时有判断 view.superview 做一些逻辑,然而使用 JXCategoryView 后发现触发 viewDidAppear 时,self.view.superview 为 nil。这不符合生命周期逻辑。调试发现是这里的问题。https://github.com/pujiaxin33/JXCategoryView/blob/8865907e0d5e7fd5af8ae847c309056a8a478315/Sources/Common/JXCategoryListContainerView.m#L442 cell 为 nil,这里应该使用[self.collectionView dequeueReusableCellWithReuseIdentifier:@"cell" forIndexPath:indexPath]来获取 cell。

版本号 1.JXCategoryView版本号:1.5.9 2.手机系统版本号:15.5 3.手机型号:iPhone 12 mini

复现步骤

  1. 遇到问题的相关效果、类是:JXCategoryListContainerView.containerType == JXCategoryListContainerType_CollectionView

截图 image

viewDidAppear 调用栈: image

klaus01 commented 2 years ago

看 1.6.1 的代码,问题依然存在。