动画集合视图高度变化(Swift)
Posted
技术标签:
【中文标题】动画集合视图高度变化(Swift)【英文标题】:Animating collection view height change (Swift) 【发布时间】:2016-05-15 20:47:13 【问题描述】:我正在尝试为集合视图设置高度变化的动画,但我不知道如何使动画工作。高度会正确更改,但会立即发生,而不是动画。
@IBOutlet weak var collectionViewHeight: NSLayoutConstraint!
UIView.animateWithDuration(0.3, delay: 0, options: .CurveEaseOut, animations:
self.collectionViewHeight.constant = 0
我尝试搜索解决方案,但找不到特定于这种情况的任何东西。还尝试了这里建议的layoutIfNeeded()
,但没有帮助:Animate view height with Swift
非常感谢任何帮助!
【问题讨论】:
【参考方案1】:您应该在动画块之外更新约束的常量:
self.collectionViewHeight.constant = 0
UIView.animateWithDuration(0.3, delay: 0, options: .CurveEaseOut,
animations: view.layoutIfNeeded, completion: nil)
(view
是相关集合视图的父视图。)
【讨论】:
谢谢!!这行得通! (... self.view.layoutIfNeeded() ...)以上是关于动画集合视图高度变化(Swift)的主要内容,如果未能解决你的问题,请参考以下文章
当集合视图大小发生变化时,我需要帮助为 UICollectionView 单元格大小设置动画