簡體   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