使用所需的动画和方向为特定视图设置动画

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图标和启动页设置

使用搅拌机,设计行走的人动画并导出为 JSON 所需的编码步骤是啥

Itween 动画插件中 的画线