Я достиг своей цели, создав функцию, а затем вызвав ее на cellForItemAt, и это решило мою проблему.
func scrollCollection(cltView: UICollectionView) {
var r = 0
let t = Timer.scheduledTimer(withTimeInterval: 2, repeats: true) { (timer) in
print(r)
let index = IndexPath(item: r, section: 0)
cltView.scrollToItem(at: index, at: .left, animated: true)
if r == 6 {
r = 0
}else {
r = r+1
}
}
t.fire()
}
Это функция, которую я использовал, и я просто назвал ее
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "cell", for: indexPath)
let mainImg = cell.viewWithTag(20) as! UIImageView
mainImg.image = UIImage(named: banners[indexPath.item])
if op {
scrollCollection(cltView: collectionView)
op = false
}
return cell
Я поставил галочку, чтобы не вызывать ее снова и снова.