Ho un UICollectionView. Ogni cella contiene un UITextField. Voglio una richiamata quando la visualizzazione è completa, quindi posso interrogare un oggetto modello per il quale textField dovrebbe essere il firstResponder, quindi renderlo il firstResponder. Posso ottenere quella richiamata? O c'è un altro modo naturale per realizzare questo?UICollectionView: ricevi una richiamata al termine del caricamento?
risposta
Se si invia il messaggio layoutIfNeeded
alla vista raccolta, aggiornerà i propri figli (aggiungendo ed eliminando le celle se necessario) prima di tornare. In questo modo è possibile aggiornarlo in modo sincrono, quindi eseguire le azioni di post-ricarica.
[myCollectionView layoutIfNeeded];
[self chooseFirstResponderFromCells:myCollectionView.visibleCells];
di architectpianist può (o non può) essere meglio per voi, a seconda della situazione. –
Le tue risposte su UICollectionView sono davvero utili! –
avevo bisogno di chiamare il 'collectionView.collectionViewLayout.invalidateLayout()', allora perché in qualche modo la CollectionView stato erroneamente disposto dopo programmazione scorrimento ('' setContentOffset' o scrollToItemAtIndexPath') –
mai provato, ma si potrebbe farlo inserendo il codice in
dequeueReusableCellWithReuseIdentifier:forIndexPath:
per ottenere il conteggio delle celle visibili (forse [contano visibleCells]), allora il monitoraggio quanti sono stati effettivamente trasformato, quindi rendendo il callback dopo tutto sono stati visualizzati. Dovresti comunque resettare il conteggio tra gli scroll.
Non pulito, ma dovrebbe funzionare. Non conosco alcun modo per ottenere una richiamata al di sotto di quello.
Per quanto riguarda un metodo di callback reale, non credo che ci sia una per la vista raccolta carico. L'unico che conosco è , e questo è abbastanza estraneo. Nella mia esperienza, tuttavia, le viste di raccolta sono caricate e pronte per il momento in cui viene chiamato il numero viewDidAppear
, quindi impostarei il primo risponditore lì.
Spero che questo aiuti!
- 1. Come si chiama una richiamata JS al termine di un caricamento di file?
- 2. Esegui javascript al termine del caricamento della pagina
- 3. Foreach callback al termine
- 4. Come chiamare una funzione javascript al termine del caricamento di iframe?
- 5. Sottolineare callback _.each al termine?
- 6. Caricamento griglia utilizzando le coroutine - attendere fino al termine,
- 7. La funzione Javascript viene richiamata al caricamento della pagina
- 8. Evento al termine del video di YouTube
- 9. Come rimuovere una vista al termine dell'animazione?
- 10. Come continuare a mostrare la schermata iniziale fino al termine del caricamento di Webview. objective-c
- 11. Tecnica di caricamento lenta per UICollectionView
- 12. Conteggio righe SQLBulkCopy al termine
- 13. Come ricevere una notifica al termine di una build completata?
- 14. Attendere fino al termine Application.Calculate
- 15. Cosa significa "Terminare in risposta al termine del backboardd"?
- 16. HTML5 Canvas: Ottieni eventi al termine del disegno
- 17. Richiamata dopo ajax che carica una scheda
- 18. Ricevi una richiesta due volte?
- 19. Ricevi l'ultimo giorno del mese?
- 20. Durante lo sviluppo, come posso bloccare il caricamento della pagina fino al termine di watchify?
- 21. evento di attivazione al termine della sessione reCAPTCHA
- 22. Come posso aggiungere una richiamata al metodo .apply()?
- 23. Funzione di chiamata al termine dello script
- 24. Come scorrere UICollectionView in fondo al programma?
- 25. QML: attendere fino al termine delle animazioni
- 26. Chiudi connessione al termine di NSOutputStream
- 27. .ASPXAUTH cookie scade al termine della sessione
- 28. Come aspettare fino al termine dell'animazione matplotlib?
- 29. Tornare alla schermata iniziale al termine dell'attività
- 30. Come interrompere UITableView dal caricamento fino al caricamento dei dati?
provare questa soluzione, ci si sente più pulito: http://stackoverflow.com/a/39425374/2664531 risposta – Darko