我设法将UICollectionView
设置为使用的所需位置
override func viewDidLayoutSubviews() {
collectionView.scrollToItem(at:IndexPath(item: itemIndex, section: 0), at: .centeredHorizontally, animated: false)
}
但是,例如,如果我从右侧向左滑动,它会滑动,但是UIImage
会跳回到右侧,然后正确地向左滑动。启用或不启用分页都会发生这种情况(我正在使用分页)。
还有什么我应该设置的吗?
答案 0 :(得分:2)
此行
collectionView.scrollToItem(at:IndexPath(item: itemIndex, section: 0), at: .centeredHorizontally, animated: false)
应该在viewDidLayoutSubviews
外部,因为每次布局绘制都将调用该调用,并调用同一行并导致闪烁,因此请在viewWillAppear/viewDidAppear
答案 1 :(得分:0)
我设法使用布尔标志和viewDidLayoutSubviews()
解决了问题,因此
var layoutDone: Bool = false
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
if(!layoutDone) {
layoutDone = true
collectionView.scrollToItem(at:IndexPath(item: itemIndex, section: 0), at: .centeredHorizontally, animated: false)
}
}