Я использую некоторые рамки какао-бобов, чтобы сделать UICollectionView.Я могу получить правильные данные для каждой ячейки и настройки просмотра.
Я хочу иметь разные ани
Конечная точка анимации должна быть связана со значением dataSource. Проблема в том, что я не могу использовать значение didSet, как мне хочется.Я добавил кадры подпредставлений (0,0,0,0), значения объектов остаются такими же, как исходное значение за пределами didSet.Я не могу получить доступ к значению dataSource в функции setupView.
Ожидаемый эффект состоит в том, что красная полоса переместится с левой стороны на правую позицию:
class CereCell : DatasourceCell {
override var datasourceItem: Any?{
didSet {
guard let cere = datasourceItem as? CeremonyDay else { return }
nameLabel.text = cere.name
nameLabel.frame = CGRect(x: 0, y: 0, width: 10, height: 10)
currentBar.frame = CGRect(x: 100, y: 100, width: cere.percentage*100 , height: 10)
position.x = cere.percentage
}
}
let currentBar: UIView = {
let currentBar = UIView(frame: CGRect(x: 290, y: 100, width: 300, height: 10))
currentBar.backgroundColor = .red
return currentBar
}()
override func setupViews() {
super.setupViews()
contentView.addSubview(currentBar)
let frame = currentBar.frame
print(frame)
Он просто печатает (290, 100, 300, 10), который не является значением в didSet.