2009-02-27 16 views

Respuesta

342

Tiene 44 píxeles. Seguro. Nunca olvidaré ese número.

44px es también la altura predeterminada para UIToolbar y UINavigationBar. (Ambos cambiar a 32PX cuando autorotated a la orientación horizontal.)

+57

Haha, "Nunca olvidaré ese número" suena ominoso ;-) –

+0

¿La UIToolbar cambia automáticamente? UINavigationBar cambió pero tuve que hacerlo manualmente para la UIToolbar. – zekel

+1

¿Alguien sabe si hay una manera de recuperar este valor programáticamente? –

2

Eso suena bien. Pero para estar seguro de que puede cargar el constructor de Interfaz, coloque una UITableViewCell en el proyecto y luego verifique las propiedades de tamaño en la ventana del Inspector. No tengo mi MacBook conmigo en este momento, así que no puedo verificar. Pero si no obtiene una mejor respuesta de alguien, así es como puede verificarlo usted mismo.

+0

Ah, está bien, de ahí es donde originalmente obtuve el 44. –

16

Cuando style = UITableViewStyleGrouped, la altura predeterminada de los & mejores celdas inferiores es en realidad 45.0f (no 44.0f). Y, si la tabla agrupada es solo una fila, la altura de la celda será 46.0f.

+0

es eso incluyendo el separador? – lhunath

10

Si desea calcular este sobre la marcha, simplemente asignar una celda de la tabla ficticia y leer su altura

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

De esta manera se defiende frente a cambios en futuras versiones de iOS, aunque supongo que es poco probable .

+0

Esto es problemático con el autolayout – MobileMon

+22

Todo es problemático con el autolayout. – devios1

+0

problemático ¿cómo, exactamente? – AndrewR

3

"Cuando style = UITableViewStyleGrouped, la altura predeterminada de las celdas inferiores & es en realidad 45.0f (no 44.0f). Y, si la tabla agrupada es solo una fila, la altura de la celda será 46.0f." ¡Está mal! 44.0f de hecho! ¡Solo lo pruebo!

18

Si desea que la dimensión por defecto en cualquier dispositivo que puede utilizar: UITableViewAutomaticDimension

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

    return UITableViewAutomaticDimension; 
} 

Aunque 44 píxeles es actualmente el valor por defecto este es un método útil si su aplicación se basa en tener el conjunto de valores por defecto.

Cuestiones relacionadas