2011-01-23 14 views

Respuesta

12

El tamaño real de la fuente depende de la configuración del usuario en Ajustes -> General - > TextSize. Normalmente, no se debe utilizar un tamaño de fuente fijo, sino que debe usar algo como:

[UIFont preferredFontForTextStyle:UIFontTextStyleHeadline] 

, obviamente, dependiendo de lo que necesita. De todos modos, si se crea un UITableViewCell con estilo UITableViewCellStyleSubtitle, a continuación, la fuente de cell.text es el mismo objeto que

[UIFont preferredFontForTextStyle: UIFontTextStyleBody] 

y la fuente de cell.detailTextLabel es el mismo objeto que

[UIFont preferredFontForTextStyle: UIFontTextStyleCaption1]. 

Usted obtenga fuentes de mayor a menor usando las constantes que terminan en "Cuerpo", "Subtítulo", "Nota al pie", "Título 1", "Título 2" para que sepa qué usar si desea texto un poco más pequeño o más grande. "Título" es del mismo tamaño que "Cuerpo" pero en negrita.

Probablemente sea mejor simplemente crear una celda en tiempo de ejecución y obtener las fuentes de ella.

+0

"Probablemente sea mejor crear una celda en tiempo de ejecución y obtener las fuentes". ¡Finalmente un pensamiento razonable y sin codificación! – maganap

51

Siempre puede configurar cualquier fuente en esas etiquetas en el código así que si quiere valores fijos garantizados, será mejor que los valores de tamaño varíen dependiendo de muchos factores (estilo de la celda, versión sdk, versión del sistema operativo, etc.).

He probado en el simulador con 4,2 versión del SDK y obtuve los siguientes resultados (no hay propiedades adicionales se establecen para las células):

  1. UITableViewCellStyleSubtitle:

    textLabel: Helvetica negrita, tamaño: labelFontSize + 1 (18 px)
    detailsLabel: Helvetica, tamaño: systemFontSize (14 px)

  2. UITableViewCellStyleValue1:

    textLabel: Helvetica negrita, tamaño: labelFontSize (17 px)
    detailsLabel: Helvetica negrita, tamaño: systemFontSize + 1 (15 px)

  3. UITableViewCellStyleValue2:

    textLabel : Helvetica Bold, tamaño: smallSystemFontSize (12 px)
    detallesLabel: Helvetica, tamaño: etiquetaFontSize (17 px)

+0

¿Cómo conseguiste esto ?! Intenté iniciar sesión y recibí información inútil sobre el tamaño de la fuente. – Moshe

+0

@Moshe, francamente, acabo de jugar con diferentes valores y los comparé visualmente con los predeterminados, por lo que no hay garantía del 100% de que esos valores sean exactos – Vladimir

+0

¿Qué hay de "básico"? – lostintranslation

5

Cuando ejecuto esto en el simulador de iPad 5.0:

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
if (cell == nil) { 
    cell = [[[UITableViewCell alloc] 
      initWithStyle:UITableViewCellStyleValue2 
      reuseIdentifier:CellIdentifier] autorelease]; 

    cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; 
    cell.selectionStyle = UITableViewCellSelectionStyleNone; 
} 
//set text to get font size > 0 

NSLog(@"cellStyleValue2 text font: %@\n", cell.textLabel.font); 
NSLog(@"cellStyleValue2 detail font: %@\n", cell.detailTextLabel.font); 

veo:

cellStyleValue2 fuente del texto: font-family: "Helvetica"; font-weight: negrita; estilo de fuente: normal; tamaño de fuente: 12px

cellStyleValue2 detail font: font-family: "Helvetica"; font-weight: negrita; estilo de fuente: normal; font-size: 15px

Dado que estos parámetros varían al parecer, registrar los objetos de fuente es una buena manera de saber sin el trabajo de adivinar ...