我有一個UICollectionView。每個單元格包含一個UITextField。當顯示完成時我想要一個回調,因此我可以查詢一個modelField應該是firstResponder的模型對象,然後將其設置爲firstResponder。我可以得到這個回調嗎?還是有另一種自然的方式來完成這個?UICollectionView - 當加載完成時得到一個回調?
回答
如果您將layoutIfNeeded
消息發送到您的收藏視圖,它將在返回之前更新其子項(根據需要添加和刪除單元格)。因此,您可以使其同步更新,然後執行重新加載操作。
[myCollectionView layoutIfNeeded];
[self chooseFirstResponderFromCells:myCollectionView.visibleCells];
architectpianist的答案可能(或可能不會)對你更好,根據您的情況。 –
您對UICollectionView的回答非常有幫助! –
我需要調用'collectionView.collectionViewLayout.invalidateLayout()',然後因爲某種原因,在編程式滾動('setContentOffset'或'scrollToItemAtIndexPath')後,collectionView被錯誤地佈局 –
從來沒有嘗試過,但你可以通過把代碼
dequeueReusableCellWithReuseIdentifier:forIndexPath:
這樣做是爲了讓看得見細胞的數量(也許[visibleCells計算])然後跟蹤有多少人真正被處理,然後讓你的回調畢竟已經顯示出來。但你必須重置滾動條之間的計數。
不乾淨,但應該工作。我不知道有什麼方法可以讓回調短。
至於一個實際的回調方法,我不認爲有一個用於集合視圖加載。我知道的唯一一個是,這是非常無關的。然而,根據我的經驗,收集視圖已加載,並在調用時間爲viewDidAppear
之前準備就緒,因此我將在那裏設置第一個響應者。
希望這會有所幫助!
- 1. 當網頁下載完成時回調
- 2. IFRAME加載完成時的Javascript回調?
- 3. 當用模態視圖完成時重新加載UICollectionView
- 4. 當背景圖像加載完成時調用一個函數
- 5. 當Ajax請求完成加載時的jQuery回調
- 6. Android凌空 - 當所有請求完成時得到回調
- 7. 當另一個負載完成時加載文件
- 8. UICollectionview cellForItemAtIndexPath在iOS 8中重新加載時未得到調用
- 9. 排序一個Jqgrid(加載完成時)
- 10. 當CSS3轉換完成時回調
- 11. 當Cocos2d CCParticleSystem完成時回調?
- 12. 在visjs完成加載圖表後獲得回調
- 13. 當所有請求完成時,Android凌空獲得回調
- 14. 當Gdk.Pixbuf完成加載
- 15. 當頁面加載完成
- 16. 當另一個功能完成並返回到UI時,php調用函數
- 17. 負載()回調加載之前返回完成
- 18. FetchRequest完成時完成塊/回調
- 19. 使得當第一個完成的iOS
- 20. 當完成淡入和刪除加載微調器時jQuery .load
- 21. 當javascript:void(0)調用時,WebBrowser控件無法完成加載
- 22. Jquery Ajax在加載完成之前加載回調觸發器
- 23. jqGrid完成重新加載時的回調?
- 24. 用jquery加載多個音頻文件並完成回調
- 25. 通過sqlloader完成數據加載時得到通知
- 26. 當ajax用Jquery完成加載所有圖像時檢測到
- 27. 當Gmail使用jQuery和GreaseMonkey完成加載時檢測到
- 28. 當vimeo視頻完成時加載下一頁
- 29. 當前一個完成時多個ajax調用
- 30. AsyncTask完成時加載TabPageIndicator
嘗試這種解決方案,感覺清潔:http://stackoverflow.com/a/39425374/2664531 – Darko