同时执行cornerRadius和约束动画

时间:2018-03-19 16:16:25

标签: ios animation uiview

我想为录制按钮设置动画,当不录制时,它是一个大的红色圆圈,但在录制时,它会变成一个圆角较小的小矩形。

我按原样执行动画:

buttonWidthConstraint.constant = isRecording ? 33 : 66
UIView.animate(withDuration: 0.2) {
    self.innerButtonView.layer.cornerRadius = self.isRecording ? 3 : 33
    self.innerButtonView.layoutIfNeeded()
}

红色视图为innerButtonView,其中包含约束,并且它具有宽度约束,我在其中更改constant

但是动画看起来像这样:

enter image description here

我做错了什么?我不知道它是否相关,但是当它很小的时候我也看不到3px转角半径。

1 个答案:

答案 0 :(得分:2)

看起来还缺少动画here。 他们使用

修复了它
self.layoutIfNeeded()

而不是

self.innerButtonView.layoutIfNeeded()

我还建议尝试Sandeep Bhandari的回答。