繁体   English   中英

如何确定何时显示UICollectionViewCell?

[英]How can I determine when a UICollectionViewCell is displayed?

我想知道什么时候在实际屏幕上显示UICollectionViewCell cellForRowAtIndexPath不足,因为此时实际上没有看到该单元格。 didEndDisplayingCell不足,因为从视图中删除单元格时会调用它。

UITableViewDelegate有一个willDisplayCell方法,我发现它在过去对类似的东西很有用,但它似乎不存在于UICollectionViewDelegate

如何确定电池何时被带到屏幕上?

UICollectionViewCell的子类。 覆盖其didMoveToWindow方法:

- (void)didMoveToWindow {
    if (self.window != nil) {
        // I am now in the window's view hierarchy and thus “on screen”.
    }
}

从技术上讲,单元格仍然是不可见的,因为它在窗口的可见边界之外,或者因为它被另一个视图覆盖。 但通常情况都不是这样。

另请注意,如果重用单元格,则可能无法从视图层次结构中删除并重新添加该单元格。 集合视图只能更改单元格的框架。 (我知道UITableView使用iOS 6.0中的表格视图单元格。)在这种情况下,当单元格重新用于另一个项目时,您将不会收到didMoveToWindow消息。

如果你解释为什么你想知道什么时候显示一个单元格,我们可能会给你一个更好的答案。

-[UICollectionView visibleCells]返回screnn上可见的所有单元格的NSArray

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM