значение объекта не меняется после didset - PullRequest
0 голосов
/ 29 ноября 2018

Я использую некоторые рамки какао-бобов, чтобы сделать 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.

...