У меня полноразмерный вид UICollection с отображением видео (очень похоже на tiktok). Предположим, у меня есть 10 полноэкранных видов UICollection с вертикальной прокруткой [A, B, C….]. Запустите приложение. Я вижу коллекцию «А». Я убиваю экземпляр приложения и перезапускаю приложение. Я вижу либо C, E, F любого вида только за долю секунды до появления «A» Это мерцание не зависит от того, какой вид был у меня до убийства экземпляра. то есть, если бы я был в режиме «C», мерцание не обязательно показывает «C» в течение доли секунды Можете ли вы сказать мне, почему это происходит и как я могу это исправить?
Я использую StoryBoard. Ниже приведен мой код контроллера CollectionView
import UIKit
class HomeCollectionVC: UICollectionViewController,UICollectionViewDelegateFlowLayout {
let labels = [] // Defined data here
override func viewDidLoad() {
super.viewDidLoad()
}
override func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return labels.count
}
override func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
guard let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "HomeCell", for: indexPath) as? HomeCell else { return UICollectionViewCell() }
let article = labels[indexPath.item]
cell.populate(with: article)
return cell
}
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
return CGSize(width: collectionView.frame.width, height: collectionView.frame.height)
}
}
Пользовательская ячейка
import UIKit
import Kingfisher
import MarqueeLabel
class HomeCell: UICollectionViewCell {
//IBOUTLETS
func convertCharge(x:Double)-> Int{
let y = abs( x*0.7 )
return Int(y)
}
func populate(with labels:Label){
nameLabel.text = labels.name
descView.text = labels.description
shortDesc.text = labels.smallDesc
let images = URL(string: labels.url)
videoImage.kf.setImage(with: images)
}
}