使用所需的动画和方向为特定视图设置动画
Posted
技术标签:
【中文标题】使用所需的动画和方向为特定视图设置动画【英文标题】:Animate specific view with desired animation and directions 【发布时间】:2018-07-16 03:18:52 【问题描述】:我正在尝试通过将约束设置为 0 或 100 来为视图设置动画以显示和显示。我遇到的问题是如何更改动画样式或方向?因为视图将从下到上进行动画处理,但我想从上到下显示视图。
我不能使用self.view.layoutIfneeded
,因为我不希望它为整个视图设置动画。我只想以正确的方向为特定视图设置动画。谢谢。
UIView.animate(withDuration: 0.5, delay: 0, options: .allowUserInteraction, animations:
//self.view.layoutIfNeeded()
self.topButtonView.layoutIfNeeded()
, completion: nil)
【问题讨论】:
你能展示你所有的动画视频或gif吗? 在调用UIView.animate()
方法之前显示你正在改变的常量
@RakeshaShastri self.headerViewHeightConstraint.constant = 150
设置为 150 之前的常数是多少?
常数150是原来的数字
【参考方案1】:
使用CGAffineTransform
// move the view to top 100 offset from current y
self.topButtonView.transform = CGAffineTransform.identity.translatedBy(x: 0, y: -100)
// then reset the transform
// it will animate downward (back to it's original position)
UIView.animate(withDuration: 0.5, delay: 0, options: .allowUserInteraction, animations:
self.topButtonView.transform = .identity
, completion: nil)
【讨论】:
以上是关于使用所需的动画和方向为特定视图设置动画的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Swift 中使用 layoutIfNeeded() 不为特定约束更改设置动画?
在 UICollectionView 中为特定单元格设置动画
iOS开发-51案例学习:动画新写法删除子视图视图顺序延迟方法button多功能使用方法及icon图标和启动页设置