#ios #swift #xcode #uicollectionview
#iOS #быстрый #xcode — код #uicollectionview uicollectionview
Вопрос:
Я хочу иметь это представление прогрессии (pod) внутри каждой ячейки collectionviewcell. Когда я запускаю приложение, прогрессия составляет 0%, оно должно анимироваться до 100% для тестирования, но оно остается на уровне 0%. Только когда я провожу пальцем вверх и вниз (обновляю ячейки ???) он начинает анимироваться на 100%. Это мой код:
import UIKit
import MKRingProgressView
class myCollectionViewCell: UICollectionViewCell {
@IBOutlet weak var ringView: UIView!
let ringsize = 150
var ringProgressView = RingProgressView()
override func layoutSubviews() {
ringProgressView = RingProgressView(frame: CGRect(x: 0, y: 0, width: ringsize, height: ringsize))
ringProgressView.startColor = .red
ringProgressView.endColor = .magenta
ringProgressView.ringWidth = CGFloat(ringsize) * 0.15
ringProgressView.progress = 0.0
ringProgressView.shadowOpacity = 0.5
ringView.addSubview(ringProgressView)
}
}
extension myCollectionViewCell{
func setProgress(progress: Double){
UIView.animate(withDuration: 0.5){
self.ringProgressView.progress = progress
}
}
}
import UIKit
private let reuseIdentifier = "Cell"
class myCollectionViewController: UICollectionViewController {
@IBOutlet var myCollectionView: UICollectionView!
var cellColor = true
override func viewDidLoad() {
super.viewDidLoad()
}
override func numberOfSections(in collectionView: UICollectionView) -> Int {
return 1
}
override func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
// #warning Incomplete implementation, return the number of items
return 7
}
override func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: reuseIdentifier, for: indexPath) as! myCollectionViewCell
cell.setProgress(progress: 1.0)
return cell
}
}
Ответ №1:
Вызовите myCollectionView.reloadData()
внутренний viewDidAppear
метод.
Комментарии:
1. I остается на уровне 0%:(
2. Можете ли вы протестировать вызов этого внутреннего
viewDidAppear
метода?