J'ai lu les familles de polices disponibles de [UIFont familyNames]
, mais j'ai différentes listes sur différents appareils (mais avec la même version iOS). Quelqu'un peut-il me dire si les polices répertoriées avec la méthode ci-dessus incluent des polices personnalisées fournies par d'autres applications installées ou si ce sont uniquement les polices livrées avec iOS ?
Réponses
Trop de publicités?Oui, il affiche toutes les polices de votre application, y compris les polices personnalisées que vous avez ajoutées. Voici le code plus court pour lister toutes les polices : Objectif
C
for (NSString *familyName in [UIFont familyNames]){
NSLog(@"Family name: %@", familyName);
for (NSString *fontName in [UIFont fontNamesForFamilyName:familyName]) {
NSLog(@"--Font name: %@", fontName);
}
}
SWIFT 2
for familyName:AnyObject in UIFont.familyNames() {
print("Family Name: \(familyName)")
for fontName:AnyObject in UIFont.fontNamesForFamilyName(familyName as! String) {
print("--Font Name: \(fontName)")
}
}
SWIFT 3
for familyName:String in UIFont.familyNames {
print("Family Name: \(familyName)")
for fontName:String in UIFont.fontNames(forFamilyName: familyName) {
print("--Font Name: \(fontName)")
}
}
Voici le bon extrait pour afficher toutes les polices :
// List all fonts on iPhone
NSArray *familyNames = [[NSArray alloc] initWithArray:[UIFont familyNames]];
NSArray *fontNames;
NSInteger indFamily, indFont;
for (indFamily=0; indFamily<[familyNames count]; ++indFamily)
{
NSLog(@"Family name: %@", [familyNames objectAtIndex:indFamily]);
fontNames = [[NSArray alloc] initWithArray:
[UIFont fontNamesForFamilyName:
[familyNames objectAtIndex:indFamily]]];
for (indFont=0; indFont<[fontNames count]; ++indFont)
{
NSLog(@" Font name: %@", [fontNames objectAtIndex:indFont]);
}
}
Vous trouverez une liste de toutes les polices intégrées dans iOS qui n'ont pas besoin de classe supplémentaire pour construire avec, ici : Liste des polices iOS disponibles
Gruber a posté un lien vers les polices incluses il y a peu : iOS Fonts
Modifier : Le site auquel il renvoie est iosfonts.com
Je crois que ce ne sont que les polices livrées avec iOS. Toutes les polices personnalisées dont vous avez besoin pour trouver les fichiers .otf
ou .ttf
respectifs et inclure ce fichier dans votre ressource de projet.
Je dis cela parce que, je voulais utiliser HelveticaNeue-UltraLight
police. Il est répertorié dans iOS et vous voyez cette option de police dans Xcode. Mais quand on choisit, rien ne se passe. Pour que cela fonctionne, je devais faire ce qui précède et mettre dans le fichier de police HelveticaNeue-UltraLight
.