我正在使用一些可可豆荚框架来制作 UICollectionView。我能够为每个单元格和设置视图获取正确的数据。
我想拥有不一样的ani
动画结束点应该和dataSource的值有关。问题是我不能如愿使用didSet值。我添加的子视图的框架是(0,0,0,0),对象的值保持与didSet之外的初始值相同。我无法访问 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 中的值。