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

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

// 初始代码
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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容