当用户执行某些操作时,我需要将 aUICollectionView
从底部拉到一定高度。由于该新状态是完全可选的,因此集合视图是在以这种方式呈现之前创建的。从底部到顶部的动画是使用更改 NSLayoutConstraint 的constant
属性和调用[view layoutIfNeeded]
某个动画块来执行的。
问题是,以这种方式做事会使单元格以不希望的方式出现:它们从左上角扩展到指定的大小。我希望集合视图出现,并且其所有单元格都已按最终大小和外观布置。
我知道 UIView 的setAnimationEnabled:
方法之类的东西,但我似乎无法找到我应该如何以及在哪里使用它(如果这是要走的路)。
我猜这个问题是由于集合视图单元格被添加到视图层次结构中,就在包含对[superview layoutIfNeeded]
. 这可能导致 UIKit 认为它也应该对布局的这些更改进行动画处理。如果是这种情况,解决方案可能是从动画中排除特定更改视图层次结构。