UICollectionView - 加载完成后获得回调?

时间:2013-06-25 02:55:45

标签: ios uicollectionview

我有一个UICollectionView。每个单元格包含一个UITextField。我希望在显示完成时进行回调,因此我可以查询一个模型对象,textField应该是firstResponder,然后将其作为firstResponder。我能收到回电吗?或者还有另一种自然的方法来实现这一目标吗?

3 个答案:

答案 0 :(得分:10)

如果您将layoutIfNeeded消息发送到集合视图,它将在返回之前更新其子节点(根据需要添加和删除单元格)。因此,您可以使其同步更新,然后执行重新加载后的操作。

[myCollectionView layoutIfNeeded];
[self chooseFirstResponderFromCells:myCollectionView.visibleCells];

答案 1 :(得分:5)

就实际的回调方法而言,我认为没有一个用于集合视图加载。我所知道的唯一一个是performBatchUpdates:completion,这是非常不相关的。但是根据我的经验,集合视图在viewDidAppear被调用的时候已经加载并准备就绪,所以我会在那里设置第一个响应者。

希望这有帮助!

答案 2 :(得分:0)

从未尝试过,但您可以通过将代码放入

来实现
dequeueReusableCellWithReuseIdentifier:forIndexPath:

获取可见单元格的数量(可能[visibleCells count])然后跟踪实际处理的数量,然后显示所有回调。你必须在滚动之间重置计数。

不干净,但应该有效。我不知道有什么方法可以得到回调。