2012-05-07 11 views
10

Me gustaría saber si systemFontSize en la aplicación iOS tableView es siempre lo mismo para textLabel? Esto depende del estilo?iOS Foundation: tamaño de fuente del sistema

Por ejemplo, cuando I NSLog(@"%f",[UIFont systemFontSize]); obtengo 14.0. ¿Esto es siempre lo mismo?

Y lo que es más: ¿Cómo puedo cambiar el tamaño de fuente sin cambiar la familia de fuentes (suponiendo que tengo mis propias fuentes en mi plist).

me trataron:

cell.textLabel.font = [UIFont fontWithName:@"Sansation-Light" size:12.0]; 

Pero UIFont siempre quieren para mí nombredetipo/familia. ¿Cómo puedo evitar eso y tener una fuente para toda mi pantalla y cambiar solo el tamaño?

Respuesta

25

fuentes del sistema se describen de la siguiente manera:

+ (CGFloat)labelFontSize;//Returns the standard font size used for labels. 
+ (CGFloat)buttonFontSize;//Returns the standard font size used for buttons. 
+ (CGFloat)smallSystemFontSize;//Returns the size of the standard small system font. 
+ (CGFloat)systemFontSize;//Returns the size of the standard system font. 

y se puede cambiar el tamaño de la fuente, sin la familia de fuentes como esto:

cell.textLabel.font = [UIFont systemFontOfSize:14]; 
+0

Hay nuevas opciones disponibles desde iOS 7, como '[UIFont preferredFontForTextStyle: UIFontTextStyleBody] 'también una notificación' UIContentSizeCategoryDidChangeNotification' para supervisar los cambios de fuente de todo el sistema. –

1

sólo para añadir a la respuesta anterior. Los métodos anteriores son miembros de la clase UIFont. Por lo tanto, para obtener el tamaño de fuente de botón predeterminado ...

float defaultFontSize = [UIFont buttonFontSize]; 
2

Los tamaños de fuente del sistema no son siempre los mismos. A partir de iOS 7 hay Dynamic Type. Los usuarios pueden establecer su tamaño de fuente preferido en la configuración del sistema. Esta es la forma recomendada para que las aplicaciones obtengan y establezcan sus tamaños de fuente ahora.

En Interface Builder puede elegir cosas como Body o Title 1 en la configuración de Fuente. El tamaño real se ajustará según la configuración del sistema del usuario. Programáticamente utilizas UIFont.preferredFont(forTextStyle:). Ver this post para más detalles acerca de hacer esto en IOS 10 y Swift 3.

Véase también

+0

@AdilSoomro, no pude encontrar un buen enlace de reemplazo de documentación pero reemplacé todos los enlaces por otros mejores. Gracias por hacérmelo saber. – Suragch

Cuestiones relacionadas