Mik*_*ike 7 uikit ios uicollectionview
我想知道在UICollectionViewCell实际屏幕上显示a的时间. 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”.
}
}
Run Code Online (Sandbox Code Playgroud)
从技术上讲,该单元可能仍然不可见,或者是因为它在窗口的可见范围之外,或者是因为它已被另一个视图覆盖。但是通常情况都不是这样。
还要注意,如果单元被重用,则它可能不会从视图层次结构中删除或重新添加到视图层次结构中。收集视图只能更改单元格的框架。(我知道UITableView从iOS 6.0开始使用表格视图单元格就可以做到这一点。)在那种情况下,didMoveToWindow当该单元格用于其他项目时,您不会收到任何消息。
如果您解释了为什么要知道何时显示单元格,我们也许可以为您提供更好的答案。
| 归档时间: |
|
| 查看次数: |
3913 次 |
| 最近记录: |