JXSegmentedView
JXSegmentedView copied to clipboard
频繁点击切换segment,会有明显卡顿
问题:频繁快速的点击切换segment,页面会跟着左右滑动,然后会有明显卡顿。拖拽滑动时,无卡顿现象出现。 我又试了下,不需要快速的点击切换,正常速度点击切换,差不多10次左右之后,也会出现明显的卡顿现象
版本:pod 'JXSegmentedView','1.0.5' 手机:11pro-max,13.3.1,后升级到13.4.1也有同样的问题(我的另一个手机就没这个问题,是iphone11,13.4.1)
是因为列表上面有图片加载吗?
你把containerType换成scrollView试试呢?
是因为列表上面有图片加载吗?
列表上是有图片,左右列表都有图片,目前加载的是网络图片,我尝试了仅加载本地的很小的图片,卡顿还是存在
你把containerType换成scrollView试试呢?
我用的是默认的scrollView样式
楼主是之前也碰到过类似的问题么,后来是如何解决的呀?
我们碰到,你要是有时间,可以写一个复现问题的demo给我,我好分析问题。
好的好的,那我有时间搞个问题demo
滑动的过程中 刷新 segmentedView.reloadDataWithoutListContainer() 会有卡顿 或者滑过去 又切换回了了
@CivelXu 为什么滑动过程中要调用reloadDataWithoutListContainer方法呢
@pujiaxin33 大概就是每次滑到一个tab上, 异步调个接口,获取消息数量,reload segmentedView titles。滑动快了 和刷新的逻辑 冲突。
如果你只需要刷新某一个item,我记得有一个方法reloadItemAt。
@pujiaxin33 [大佬,感谢你写的轮子,很好用。我也重现了卡顿,快速的左右滑动有明显的卡顿,写了demo,能否看看? JXCategoryViewDemo.zip
@RedBluePeas 按下面代码注释多余的代码:
func segmentedView(_ segmentedView: JXSegmentedView, didSelectedItemAt index: Int) {
debugPrint("点击了某个item:\(index)")
// let frame = CGRect.init(x: kScreenW*CGFloat(index), y: 0, width: kScreenW, height: self.scrollView.frame.size.height)
// self.scrollView.scrollRectToVisible(frame, animated: true)
}
尽量按照demo示例的写法来。
@pujiaxin33 感谢,问题解决了
@pujiaxin33 大概就是每次滑到一个tab上, 异步调个接口,获取消息数量,reload segmentedView titles。滑动快了 和刷新的逻辑 冲突。
这个确实是一个比较常见的case,你之后有找到fix方法么