Domanda

Ho diverse parti nella mia app in cui utilizzo celle di visualizzazione tabella personalizzate.

Il loro contenuto è creato con visualizzazioni secondarie.

Il problema è che su alcune di queste celle, il contenuto non appare affatto o non appare correttamente fino a quando la cella non è stata selezionata per la prima volta.

Un esempio è una cella personalizzata che ha una sottoview personalizzata che può essere impostata dopo la sua creazione. Questa vista non appare affatto prima di aver selezionato la cella e le sue viste sono state ridisegnate. La chiamata - [setNeedsDisplay] nel metodo setter della sottoview non aiuta neanche.

È stato utile?

Soluzione

Il problema era che stavo usando le celle stesse per calcolare la loro altezza. Per qualche motivo, le visualizzazioni secondarie (che facevano parte della cella utilizzata per calcolare l'altezza) non venivano visualizzate correttamente nelle celle utilizzate per la visualizzazione effettiva.

Pertanto il mio consiglio: non usare mai un UITableViewCell per calcolare la propria altezza. Questo può funzionare in linea di principio (non si arresta in modo anomalo), ma potrebbe morderti in seguito in modi inaspettati e difficili da eseguire il debug.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top