![](/img/trans.png)
[英]How to determine when a custom UICollectionViewCell is 100% on the screen
[英]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.