我注意到,如果我更改 UICollectionView 的框架(例如,当切换通话状态栏时),集合视图不会为新框架正确更新其单元格。在短视频中可能最容易看到:
http://cl.ly/2t2Y2A3A2w1D/CollectionViewTest.mov
该简单测试的源文件在这里:
http://cl.ly/0S0A360B3I3Q/CollectionViewTest.zip
我使用 UICollectionViewController 还是 UIViewController 似乎并不重要。有人见过这个吗?我错过了什么吗?我发现的唯一解决方法是在视图控制器的 viewWillLayoutSubviews 或 viewDidLayoutSubviews 中的集合视图上调用 reloadData ,这可以工作,但当集合视图的框架受到用户拖动的影响时远非理想,因为 reloadData 被多次调用并导致用户拖动时,UI 更新非常缓慢。