heightForRowAtIndexPath para NSStrings mais longos
eu tenho umUITableView
(Agrupado!) E precisa calcular a altura de dois estilos de células:UITableViewCellStyleDefault
eUITableViewCellStyleValue2
.
É assim que faço porUITableViewCellStyleDefault
:
CGSize textSize = {300.f, 200000.0f};
CGSize size = [myTextString1 sizeWithFont:[UIFont systemFontOfSize:14.0f] constrainedToSize:textSize lineBreakMode:UILineBreakModeWordWrap];
size.height += 30.0f;
result = MAX(size.height, 44.0f);
E paraUITableViewCellStyleValue2
:
CGSize textSize = {207.f, 200000.0f};
CGSize size = [myTextString2 sizeWithFont:[UIFont systemFontOfSize:14.0f] constrainedToSize:textSize lineBreakMode:UILineBreakModeWordWrap];
size.height += 30.0f;
result = MAX(size.height, 44.0f);
Meu problema é que eles retornam alturas incorretas e eu acho que é otextSize
onde eu uso números incorretos. Com textos longos, a parte inferior é interrompida (geralmente apenas uma linha com poucas palavras), e para ambos os CellStyles eles têm um espaçamento estranho acima e abaixo do texto na célula.
ParaUITableViewCellStyleValue2
Eu tenho o tamanho da largura (207.0f
) de fazer o text.backgroundColor vermelho e depois apenas calcular o tamanho da caixa.300.0f
largura paraUITableViewCellStyleDefault
é o tamanho da célula comUITableViewStyleGrouped
.
Alguém sabe quais valores eu preciso usar para calcular corretamente o tamanho de umNSString
e assim obter altura apropriada para minhas células?
obrigado