|
@@ -58,9 +58,7 @@ class TSGennertatorSelectStyleListVc: TSBaseVC {
|
|
|
viewModel.$datas.receive(on: DispatchQueue.main).sink { [weak self] datas in
|
|
|
guard let self = self else { return }
|
|
|
if !datas.isEmpty && viewModel.currentIndexPath.item < datas.count {
|
|
|
-// DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) {
|
|
|
- self.selectIndex(indexPath: self.viewModel.currentIndexPath, dir: .centeredVertically)
|
|
|
-// }
|
|
|
+ self.selectIndex(indexPath: self.viewModel.currentIndexPath,isScrollPosition: false, dir: .centeredVertically)
|
|
|
}
|
|
|
}.store(in: &cancellable)
|
|
|
}
|
|
@@ -94,15 +92,19 @@ class TSGennertatorSelectStyleListVc: TSBaseVC {
|
|
|
loadingView.isHidden = true
|
|
|
}
|
|
|
|
|
|
- public func selectIndex(indexPath: IndexPath, dir: UICollectionView.ScrollPosition = .centeredHorizontally) {
|
|
|
+ public func selectIndex(indexPath: IndexPath,isScrollPosition:Bool = true, dir: UICollectionView.ScrollPosition = .centeredHorizontally) {
|
|
|
viewModel.currentIndexPath = indexPath
|
|
|
|
|
|
DispatchQueue.main.async{
|
|
|
-// DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) {
|
|
|
if let model = self.viewModel.datas.safeObj(At: indexPath.item) {
|
|
|
self.selectedValueBlock?(indexPath, model)
|
|
|
}
|
|
|
- self.styleCollectionView.selectItem(at: self.viewModel.currentIndexPath, animated: true, scrollPosition: dir)
|
|
|
+ if isScrollPosition {
|
|
|
+ self.styleCollectionView.selectItem(at: self.viewModel.currentIndexPath, animated: true, scrollPosition: dir)
|
|
|
+ }else {
|
|
|
+ self.styleCollectionView.selectItem(at: self.viewModel.currentIndexPath, animated: false, scrollPosition: .top)
|
|
|
+ self.styleCollectionView.scrollToItem(at: IndexPath(item: 0, section: 0), at: .top, animated: false)
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|