【发布时间】:2013-12-13 11:01:13
【问题描述】:
我有两个视图控制器 A 和 B。ViewControllerA 上有一个 UICollectionView。
如果我将 ViewControllerB 推送到 ViewControllerA 上,那么在后台 ViewControllerA 的 UICollectionView 更新中,我想强制集合视图重绘并将其单元格出列,以便当我从 ViewControllerB 返回时,ViewControllerA 的数据是最新且正确的。调用 reloadData 不会使集合视图在后台重绘它自己,它会等到 viewWillAppear 之后触发
[UICollectionView _createPreparedCellForItemAtIndexPath:withLayoutAttributes:applyAttributes],这是调用数据源以使新单元格出列的方法。
在调用 viewWillAppear 之前强制或欺骗 collectionview 以便它在新单元格上调用 [UICollectionView _createPreparedCellForItemAtIndexPath:withLayoutAttributes:applyAttributes]?
我正在尝试让自定义视图控制器转换工作,如果在查看 ViewControllerB 时 ViewControllerA 中的数据发生了变化,这看起来很奇怪。我想强制 collectionView 更新,所以当我调用 CollectionView.visibileIndexPaths 时,会返回正确的项目,并且我的动画看起来会正确。
【问题讨论】:
-
您可以使用委托来更新另一个控制器的视图。试试看。
标签: ios objective-c ios7 uikit uicollectionview