同时执行cornerRadius和约束动画
Posted
技术标签:
【中文标题】同时执行cornerRadius和约束动画【英文标题】:Perform a cornerRadius and constraint animation at the same time 【发布时间】:2018-03-19 16:16:24 【问题描述】:我想制作一个录制按钮的动画,不录制时,它是一个红色的大圆圈,但是当它录制时,它变成了一个小圆角的小矩形。
我是这样执行动画的:
buttonWidthConstraint.constant = isRecording ? 33 : 66
UIView.animate(withDuration: 0.2)
self.innerButtonView.layer.cornerRadius = self.isRecording ? 3 : 33
self.innerButtonView.layoutIfNeeded()
红色视图是innerButtonView
,它被约束固定,它有一个宽度约束,我在其中更改了constant
。
但是动画看起来是这样的:
我做错了什么?我不知道它是否相关,但是当它很小时我也看不到 3px 圆角半径。
【问题讨论】:
【参考方案1】:看起来缺少动画也被描述为here。 他们使用
修复了它self.layoutIfNeeded()
而不是
self.innerButtonView.layoutIfNeeded()
我还建议尝试 Sandeep Bhandari 的答案。
【讨论】:
以上是关于同时执行cornerRadius和约束动画的主要内容,如果未能解决你的问题,请参考以下文章