4

我在添加具有相同名称但重量不同的自定义字体时遇到问题,例如:

[_lblFullName setFont:[UIFont fontWithName:@"Museo Sans 500" size:20]];
[_lblTicket setFont:[UIFont fontWithName:@"Museo Sans 900" size:12]];

我只能通过只添加一种字体粗细来完成这项工作,但我必须重命名它Museo Sans并且只导入一种字体来捆绑和删除另一种字体。喜欢:

[_lblFullName setFont:[UIFont fontWithName:@"Museo Sans" size:20]];
[_lblTicket setFont:[UIFont fontWithName:@"Museo Sans" size:12]];

但它只允许我使用一种字体粗细,我需要导入这两种字体粗细。请帮忙。

4

2 回答 2

7
[_lblFullName setFont:[UIFont fontWithName:@"MuseoSans-500" size:20]];
[_lblTicket setFont:[UIFont fontWithName:@"MuseoSans-900" size:12]];

您可以通过运行以下命令访问“Museo Sans”系列中自定义字体的名称:

 NSArray *fonts = [UIFont fontNamesForFamilyName:@"Museo Sans"];

for (NSString *fname in fonts) {
    UIFont *font = [UIFont fontWithName:fname size:12.0];
    NSLog(@"name: %@ font: %@", fname, font);
}

与 fontWithName 一起使用时,无论哪个字符串记录为名称都有效。

于 2013-03-08T07:41:55.593 回答
-1

Swift 2.2中,您可能想要这样做:

let fonts = UIFont.fontNamesForFamilyName("Museo Sans")
for name in fonts {
    let font = UIFont(name: name, size: 12)
    print("name: \(font?.fontName) font: \(font)")
}
于 2016-03-25T07:15:10.643 回答