我有一个 UICollectionView。每个单元格包含一个 UITextField。我想要一个显示完成时的回调,所以我可以查询一个模型对象,它的 textField 应该是 firstResponder,然后使它成为 firstResponder。我可以得到那个回调吗?还是有另一种自然的方式来实现这一点?
问问题
9572 次
3 回答
10
如果您将layoutIfNeeded
消息发送到您的集合视图,它将在返回之前更新其子项(根据需要添加和删除单元格)。因此,您可以使其同步更新,然后执行重新加载后的操作。
[myCollectionView layoutIfNeeded];
[self chooseFirstResponderFromCells:myCollectionView.visibleCells];
于 2013-06-25T06:33:02.820 回答
5
至于实际的回调方法,我认为没有一个用于加载集合视图的方法。我知道的唯一一个是performBatchUpdates:completion
,这完全不相关。但是,根据我的经验,集合视图已加载并在viewDidAppear
调用时准备就绪,因此我会将第一响应者设置在那里。
希望这可以帮助!
于 2013-06-25T04:30:10.617 回答
0
从未尝试过,但您可以通过输入代码来做到这一点
dequeueReusableCellWithReuseIdentifier:forIndexPath:
获取可见单元格的计数(可能是 [visibleCells count]),然后跟踪实际处理了多少个单元格,然后在显示完所有内容后进行回调。不过,您必须重置滚动之间的计数。
不干净,但应该工作。我不知道有什么方法可以得到回调。
于 2013-06-25T04:26:24.843 回答