2010-10-01 20 views
86

¿Cuál es el nombre de la fuente predeterminada del sistema en el iPhone?Fuente del sistema iPhone

Me gustaría recuperar esto para personalizar un UIView.

Respuesta

100

Para el deleite de puristas fuente todas partes, el sistema iPhone interfaz utiliza Helvetica o una de sus variante .

El iPhone original, iPhone 3G y interfaz de sistema del iPhone 3GS utiliza Helvetica. Como se observó por primera vez en el siempre excelente DaringFireball, el iPhone 4 utiliza una fuente sutilmente revisada llamada "Helvetica Neue". DaringFireball también señala que este cambio se relaciona con la pantalla del iPhone 4 en lugar del sistema operativo iOS 4 y iPhone más viejos modelos con iOS 4 siguen utilizando Helvetica como la fuente del sistema.

modelos de iPod liberados antes de la iPhone utilizar cualquiera de Chicago, Espy Sans, o Myriad y utilizar Helvetica después del lanzamiento del iPhone .

De http://www.everyipod.com/iphone-faq/iphone-who-designed-iphone-font-used-iphone-ringtones.html

Para iOS9 se ha cambiado a San Fransisco. Vea http://developer.apple.com/fonts para más información.

+5

Actualmente es Helvetica Neue Regular fuente. – Augustine

+4

Para iOS9 ha cambiado a San Francisco. Consulte https://developer.apple.com/fonts/ para obtener más información. –

14

AFAIK iPhone utiliza "Helvetica" por defecto < iOS 10

+0

como se ve por otras respuestas, que depende de la versión de iOS – ericosg

97

Si está realizando una personalización de programación, no codifique la fuente del sistema. Use UIFont systemFontOfSize:, UIFont boldSystemFontOfSize: y UIFont italicSystemFontOfSize (Apple documentation).

Esto se ha vuelto especialmente relevante desde iOS 7, que cambió la fuente del sistema a Helvetica Neue.

Esto se ha convertido en súper especialmente relevante ya que iOS 9, que cambió la fuente del sistema de nuevo a San Francisco.

+1

No voy a cambiar la fuente del sistema, esa es una mala idea.Pero lo quiero para algunos html en UIWebView. – SK9

+0

Esto no cambia la fuente del sistema; solo le da instancias 'UIFont' de la fuente del sistema con los tamaños especificados, y siempre devolverá las fuentes del sistema independientemente de las futuras actualizaciones de iOS. –

+0

La fuente que estoy viendo en mi UIWebView no se parece a Helvetica para mí. Puede que me equivoque, pero configurar la fuente para mi vista me quita la duda. – SK9

7

No estoy seguro de que haya una API para obtener el nombre predeterminado de la fuente del sistema. Así que acabo de obtener el nombre así:

//get system default font 
    UILabel *label = [[UILabel alloc] init];   
    fontname = label.font.fontName; 
    [label release]; 

Parece estúpido, pero funciona.

+17

UIFont * font = [UIFont systemFontOfSize: 12.0];

+0

niceeeee catch! – Nianliang

+0

Hay métodos más fáciles .. Pero +1 para pensar de manera diferente – Krishnabhadra

11

Siempre se puede utilizar

UIFont *systemFont = [UIFont systemFontOfSize:12]; 
NSLog(@"what is it? %@ %@", systemFont.familyName, systemFont.fontName); 

La respuesta es:

Hasta iOS 6

Helvetica Helvetica 

iOS 7

.Helvetica Neue Interface .HelveticaNeueInterface-M3 

pero sólo se puede utilizar Helvetica Neue

+1

en Swift en iOS 9 obtengo '.SFUIText-Regular' como' systemFont.familyName' – Daniel

+0

@simpleBob Más sobre eso: http://designforhackers.com/blog/apples-new-san-francisco-font/ –

3

Aquí es un poco de actualización para apoyar iOS 7. Tiene Dynamic Font Size ahora.

Para cualquiera y todas las aplicaciones que soportan “Dinámica Tipo”, los usuarios pueden seleccionar un tamaño fuente en iOS 7 que el sistema funciona de ancho, con sólo visitar la sección "General" en "Configuración" y seleccionar "Fuente Tamaño."

UIFont *dynamicFont = [UIFont preferredFontForTextStyle:UIFontTextStyleBody]; 

y la lista de constantes, explicación detallada es here

NSString *const UIFontTextStyleHeadline; 
NSString *const UIFontTextStyleSubheadline; 
NSString *const UIFontTextStyleBody; 
NSString *const UIFontTextStyleFootnote; 
NSString *const UIFontTextStyleCaption1; 
NSString *const UIFontTextStyleCaption2; 
+0

los enlaces son roto – Suragch

3

Categoría UIFontSystemFonts para UIFont (UIInterface.h) ofrece varios tamaños predefinidos convenientes.

@interface UIFont (UIFontSystemFonts) 
+ (CGFloat)labelFontSize; 
+ (CGFloat)buttonFontSize; 
+ (CGFloat)smallSystemFontSize; 
+ (CGFloat)systemFontSize; 
@end 

Lo uso para mensajes de chat (etiquetas) y funciona bien cuando necesito obtener el tamaño de bloques de texto.

[UIFont systemFontOfSize:[UIFont labelFontSize]]; 

Happy coding!

3
UIFont *systemFont = [UIFont systemFontOfSize:[UIFont systemFontSize]]; 

Esto le dará la fuente del sistema con el tamaño de fuente del sistema predeterminado aplicado para los textos de la etiqueta de forma predeterminada.

10

Swift

fuente específica

Configuración de una fuente específica en Swift se hace así:

let myFont = UIFont(name: "Helvetica", size: 17) 

Si no conoce el nombre, se puede obtener una lista de los nombres de fuente disponibles como este:

print(UIFont.familyNames()) 

O una lista aún más detallada de esta manera:

for familyName in UIFont.familyNames() { 
    print(UIFont.fontNamesForFamilyName(familyName)) 
} 

Pero los cambios de fuente sistema de versión a versión de IOS. Por lo tanto, sería mejor obtener la fuente del sistema de forma dinámica.

fuente sistema

let myFont = UIFont.systemFontOfSize(17) 

Pero tenemos el tamaño no modificable en. ¿Qué pasa si los ojos del usuario son malos y quieren hacer que la fuente más grande? Por supuesto, puede hacer una configuración en su aplicación para que el usuario cambie el tamaño de la fuente, pero esto sería molesto si el usuario tuviera que hacer esto por separado para cada aplicación en su teléfono. Sería más fácil simplemente hacer un cambio en la configuración general ...

fuente dinámico

let myFont = UIFont.preferredFontForTextStyle(UIFontTextStyleBody) 

Ah, ahora tenemos la fuente del sistema al tamaño elegido por el usuario para el Text Style estamos trabajando con. Esta es la forma recomendada de configurar la fuente. Vea Supporting Dynamic Type para más información sobre esto.

relacionados

0

Swift

Siempre debe utilizar los valores predeterminados del sistema y no es difícil codificar el nombre de la fuente debido a que el tipo de letra predeterminado se podría cambiar por Apple en cualquier momento.

Hay un par de fuentes predeterminadas del sistema (normal, negrita, cursiva) con diferentes tamaños (etiqueta, botón, otros):

let font = UIFont.systemFont(ofSize: UIFont.systemFontSize) 
let font2 = UIFont.boldSystemFont(ofSize: UIFont.systemFontSize) 
let font3 = UIFont.italicSystemFont(ofSize: UIFont.systemFontSize) 

Beaware que el tamaño de fuente predeterminado depende de la vista de destino (etiqueta del botón,, otros)

Ejemplos:

let labelFont = UIFont.systemFont(ofSize: UIFont.labelFontSize) 
let buttonFont = UIFont.systemFont(ofSize: UIFont.buttonFontSize) 
let textFieldFont = UIFont.systemFont(ofSize: UIFont.systemFontSize) 
0
  1. requiere descarga .ttf presentar

  2. agregar el archivo .ttf en virtud de recurso de paquete de copia, vuelva a comprobar si se añade el archivo ttf bajo recursos

  3. En info.pllist añadir el nombre del archivo TTF como es.

  4. ahora abra el libro de fuentes agregue el archivo .ttf en el libro de fuentes, seleccione ícono de información allí encontrará el nombre del postscript.

  5. ahora dan el nombre PostScript en lugar del nombre de la fuente

Cuestiones relacionadas