Created
June 5, 2011 05:14
-
-
Save shannoga/1008678 to your computer and use it in GitHub Desktop.
Get fonts family and font names list on iOS
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 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]); | |
} | |
[fontNames release]; | |
} | |
[familyNames release]; |
thanks
A more functional approach
var fonts = UIFont.familyNames().map({ UIFont.fontNamesForFamilyName($0)}).reduce([]) { $0 + $1 }
Similar to @TheiOSdeveloper's suggestion, but if you need an Array of UIFonts, you can use this.
func generateFonts(size: CGFloat) -> [UIFont] {
return UIFont.familyNames().flatMap {
UIFont.fontNamesForFamilyName($0).flatMap {
UIFont(name: $0, size: size)
}
}
}
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
thanks man!