动画 UIView 从左侧而不是中心增长

Posted

技术标签:

【中文标题】动画 UIView 从左侧而不是中心增长【英文标题】:Animate UIView grow from left rather than center 【发布时间】:2020-02-20 22:15:49 【问题描述】:

UIView button 的宽度为 44,它应该以动画方式展开到 90。目前,当动画开始时,它会将视图重新对齐到 44 宽度的中心,然后将左右两侧都展开到 90。

self.button.widthConstraint?.isActive = false
self.button.width(90)
UIView.animate(
  withDuration: animationDuration,
  animations: 
    self.layoutIfNeeded()
  
)

如何仅从右侧对展开进行动画处理?我希望左边被固定,而右边增加它的 x 位置。

【问题讨论】:

【参考方案1】:

设置您的约束,以便固定前导、尾随、顶部和底部锚点,然后为尾随约束的更改设置动画。

【讨论】:

如何固定锚点?这是cgaffinetransform

以上是关于动画 UIView 从左侧而不是中心增长的主要内容,如果未能解决你的问题,请参考以下文章

Swift3 中的 UIView 动画

CSS 动画 - 从中​​心增长(从中心点缩放到整个容器)

如何使用 UIView 创建自定义翻转动画

动画 UIView 的子视图在动画期间不保持约束

为啥我的 UIView 动画到错误的位置?

UIView 动画被调用两次,取消动画