ios5 - UIFont fontWithName nombre de la fuente
(6)
Así es como obtienes todos los nombres de las fuentes en tu proyecto. Eso es todo ... 3 líneas de código
NSArray *fontFamilies = [UIFont familyNames];
for (int i=0; i<[fontFamilies count]; i++)
{
NSLog(@"Font: %@ ...", [fontFamilies objectAtIndex:i]);
}
Supongamos que quiere una fuente específica para UIFont. ¿Cómo sabes cómo se llama?
Por ejemplo, si desea utilizar este código:
[someUILabelObject setFont:[UIFont fontWithName:@"American Typewriter" size:18]];
¿De dónde copió la frase exacta "máquina de escribir estadounidense". ¿Hay un archivo de encabezado en Xcode?
ACTUALIZAR
También encontré this mano.
Hice una biblioteca para resolver este problema:
github.com/Nirma/UIFontComplete
Todas las fuentes se representan como un sistema de Font
y la biblioteca también detalla una forma de usarlo con sus fuentes personalizadas en el archivo Léame.
Básicamente esto:
let font = UIFont(name: "Arial-BoldItalicMT", size: 12.0)
Se reemplaza con esto:
let font = UIFont(font: .arialBoldItalicMT, size: 12.0)
O esto:
let myFont = Font.helvetica.of(size: 12.0)
La documentation para UIFont
es bastante clara al respecto:
Puede usar el método
fontNamesForFamilyName:
para recuperar los nombres de fuente específicos para una familia de fuentes determinada. ( Nota : es un método de clase)
Puede obtener los apellidos de esta manera:
NSArray *familyNames = [UIFont familyNames];
Puede ser interesante para usted como Quick Win dentro del depurador:
(lldb) po [UIFont fontNamesForFamilyName:@"Helvetica Neue"]
(id) $1 = 0x079d8670 <__NSCFArray 0x79d8670>(
HelveticaNeue-Bold,
HelveticaNeue-CondensedBlack,
HelveticaNeue-Medium,
HelveticaNeue,
HelveticaNeue-Light,
HelveticaNeue-CondensedBold,
HelveticaNeue-LightItalic,
HelveticaNeue-UltraLightItalic,
HelveticaNeue-UltraLight,
HelveticaNeue-BoldItalic,
HelveticaNeue-Italic
)
Tratar
NSArray *familyNames = [UIFont familyNames];
[familyNames enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop){
NSLog(@"* %@",obj);
NSArray *fontNames = [UIFont fontNamesForFamilyName:obj];
[fontNames enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop){
NSLog(@"--- %@",obj);
}];
}];
label.font = [UIFont fontWithName:@"HelveticaNeue-Light" size:17];