Alcuni aiuti sarebbero molto apprezzati qui!UITableView problema di aggiornamento della cella su riorganizzare
Ho una cella UITableView personalizzata, costituita da un'immagine (verde, arancione o rossa) e due etichette con dimensioni di carattere diverse. UITableView è guidato da un NSMutableArray di oggetti.
UITableView è diviso in tre sezioni, con la prima sezione contenente tutte le celle con l'immagine rossa, la seconda con l'arancione, la terza con il verde.
Ho implementato la capacità di riorganizzare le celle all'interno di UITableView, consentendo all'utente di trascinare, diciamo, un oggetto con un'immagine rossa dalla sezione rossa nella sezione arancione. Questo trascinamento funziona alla grande e i dati sottostanti vengono aggiornati correttamente. So che questo è il caso perché se seleziono la cella, vado alla sua vista di dettaglio e i dati vengono aggiornati.
Tuttavia, UITableView non si aggiorna fino a quando non vado al dettaglio (o non esce dall'app) e ritorno! Si aggiorna anche se faccio scorrere la cella incriminata fuori dalla vista e torna di nuovo in vista, quindi l'array contiene chiaramente i dati corretti. Non riesco proprio ad attivare un aggiornamento della vista!
Ho provato quanto segue dopo il mio codice per modificare i dati sottostanti in moveRowAtIndexPath:
[self.tableView reloadData];
Tuttavia, questo provoca un'eccezione. L'Apple Language Reference infatti dice che reloadData non può essere chiamato quando si inserisce, si elimina o si anima, il che è ovviamente quello che sto facendo. Inoltre, cercando solo per aggiornare la cella con
[self setNeedsDisplay];
non funziona (anche se non va in crash o).
Qualche idea su come posso aggiornare UITableView? Non riesco a trovare un afterMoveHasBeenCompleted: metodo o altro, quindi se non riesco a chiamare reloadData durante il mio moveRowAtIndexPath: metodo allora dove lo chiamo ?!
O è solo uno sporco trucco? Esiste un metodo "animationComplete" posso usare al posto ... – h4xxr
Questo sembra essere il modo migliore per farlo, come da post di gpmoore su questo thread Apple Developer:? Http://discussions.apple.com/thread.jspa ? messageID = 8450874 – Tim
Questo è frustrante ma molto rassicurante! Grazie! – h4xxr