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