Qual é a altura padrão do UITableViewCell?


166

Eu pensei que esta informação teria sido mais fácil de encontrar :-)

Qual é a altura padrão de um UITableViewCell? Parece 44 pixels, mas eu prefiro ter certeza.

Respostas:


361

São 44 pixels. Definitivamente. Nunca esquecerei esse número.

44px também é a altura padrão para UIToolbar e UINavigationBar. (Ambos mudam para 32px quando autorotados para a orientação paisagem).


61
Haha, "Eu nunca vou esquecer esse número" soa ameaçador ;-)
Rob

4
@antony: view.bounds.size.height
samvermette

4
@ MikeyWard: Você provavelmente já descobriu isso, mas o separador 1px está incluído na altura. Na verdade, abrange o conteúdo mais baixo da célula.
Ben S

44
Tecnicamente, são 44 pontos. Ele sai para 88px em uma tela Retina. Não para dividir cabelos ou qualquer coisa.
precisa

23
tableView.rowHeight
Hunter

27

Se você deseja a dimensão padrão em qualquer dispositivo, pode usar: UITableViewAutomaticDimension

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {

    return UITableViewAutomaticDimension;
}

Embora atualmente 44 pixels seja o padrão, esse é um método útil se o aplicativo usar o valor padrão definido.


3
Foi renomeado para UITableView.automaticDimensionsem Swift 4
Bot

Isso só funciona se você quiser apenas a altura padrão. Se você realmente deseja vários múltiplos da altura padrão, o valor retornado por isso não é uma altura real. A Apple escondeu a verdadeira altura do ponto por trás desse número mágico (que passa a ser -1).
PKCLsoft

16

Quando style = UITableViewStyleGrouped, a altura padrão das células superior e inferior é realmente 45.0f(não 44.0f). E, se a tabela agrupada for apenas uma linha, a altura da célula será 46.0f.


isso inclui o separador?
Lhunath 13/11/2012

10

Se você quiser calcular isso rapidamente, aloque uma célula da tabela fictícia e leia sua altura

UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"Cell"];
int height = cell.frame.size.height ;

Dessa forma, você se defende contra alterações em versões futuras do iOS, embora eu suponha que isso seja improvável.


Isso é problemático com o autolayout
MobileMon

27
Tudo é problemático com a execução automática.
precisa saber é o seguinte

problemático como, exatamente?
AndrewR

3

"Quando style = UITableViewStyleGrouped, a altura padrão das células superior e inferior é realmente 45.0f (não 44.0f). E, se a tabela agrupada for apenas uma linha, a altura da célula será 46.0f." Está errado!! 44,0f de fato! Eu apenas testei!


2

Isso parece certo. Mas, para ter certeza de que você pode carregar o construtor Interface, insira um UITableViewCell no projeto e verifique as propriedades de tamanho na janela Inspetor. Eu não tenho o meu MacBook agora, então não posso verificar. Mas se você não obtém uma resposta melhor de alguém, é assim que você pode verificar por si mesmo.


Ah, ok, foi daí que eu peguei o 44.
27409 Rob

2

No Swift 4 e Swift 5, basta usar:

UITableView.automaticDimension

Usar 44px não será suficiente, pois variará com diferentes densidades de pixel da tela.


0

No iOS 12, a altura padrão nos dispositivos semelhantes ao iPhone X (X, XS, XS Max, XR) é de 49 pontos .

Outros dispositivos no iOS 12 ainda têm 44pt como padrão. É uma diferença sutil, mas parece uma boa melhoria na comparação direta.

Se você não acredita em mim, meça nesta imagem (não se esqueça de dividir por 3) ...;)

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.