动画集合视图高度变化(Swift)

时间:2016-05-15 20:47:14

标签: ios swift uicollectionview

我正在尝试为集合视图设置高度变化的动画,但我无法弄清楚如何使动画生效。高度正确变化,但它立即发生,而不是动画。

@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 个答案:

答案 0 :(得分:5)

你应该更新动画块之外的约束常量:




  self.collectionViewHeight.constant = 0
 UIView.animateWithDuration(0.3 ,delay:0,options:.CurveEaseOut,
 animations:view.layoutIfNeeded,completion:nil)
  




view 是相关集合视图的超级视图。)