UILabel 更新约束动画问题(SnapKit)

2019-11-04  本文已影响0人  风儿吹啊吹

正常情况下,动画更新约束方式

// 初始代码
titleLabel = UILabel()
titleLabel.backgroundColor = .green
titleLabel.text = "测试文本"
titleLabel.textAlignment = .center
view.addSubview(titleLabel)
titleLabel.snp.makeConstraints { (make) in
    make.size.equalTo(CGSize(width: 200, height: 200))
    make.center.equalToSuperview()
}

// 更新约束代码
UIView.animate(withDuration: 2) {
    self.titleLabel.snp.updateConstraints { (make) in
        make.size.equalTo(CGSize(width: 50, height: 50))
    }
    self.view.layoutIfNeeded()
}

但是 UILabel 更改宽度、高度约束,动画会不正常 或者 没有动画效果。所以建议通过修改以下方式来设置UILabel的动画
1、 leading 或者 trailing 或者 x
2、或者将 label 放到 contentView 里头,让 contentView 来做动画 。

要详细了解,可以参考
解释1
解释2
解释3

上一篇 下一篇

猜你喜欢

热点阅读