Conteúdo das células de exibição de tabela personalizadas que não desenham corretamente
-
05-07-2019 - |
Pergunta
Eu tenho várias partes no meu aplicativo, onde uso células de exibição de tabela personalizadas.
O conteúdo deles é criado com subviews.
O problema é que, em algumas dessas células, o conteúdo não aparece ou não aparece corretamente até que a célula tenha sido selecionada pela primeira vez.
Um exemplo é uma célula personalizada que possui uma subview personalizada que pode ser definida após sua criação. Essa visão não aparece antes de eu selecionar a célula e suas visões foram redesenhadas. Chamando -[SetNeedsDisplay] no método Setwert Setter da Subview também não ajuda.
Solução
O problema era que eu estava usando as próprias células para calcular sua altura. Por alguma razão, as subviews (que faziam parte da célula usada para calcular a altura) não estavam aparecendo corretamente nas células que foram usadas para a exibição real.
Portanto, meu conselho: nunca use um UITableViewCell
para calcular sua própria altura. Isso pode funcionar em princípio (não trava), mas pode mordê-lo mais tarde de maneira não aptada e difícil de estrear.