我的tableview包含带标签的自定义单元格。我想将此标签的字体更改为“Roboto-Bold”。但它不起作用(仍然是相同的默认字体)。到目前为止我做了什么:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
EventOptionCell *cell = (EventOptionCell *)[tableView dequeueReusableCellWithIdentifier:@"EventOptionCell"];
switch (indexPath.row) {
case 0:
cell.optionLabel.text = @"TEST NEW FONT";
cell.optionLabel.font = [UIFont fontWithName:@"Roboto-Bold" size:20];
cell.imageView.image = [UIImage imageNamed:@"icon-test.png"];
break;
default:
break;
}
return cell;
}
答案 0 :(得分:7)
有时,当您将ttf文件添加到XCode项目时,它将不会添加到您的目标。这意味着它不会包含在已编译的应用程序包中。
在XCodes Project Navigator中选择字体文件,然后打开文件检查器“实用程序”窗格(Cmd-Option-0)。你应该看到一个" Target Membership"在那里分组和项目的目标应该选中复选框。如果没有检查并重试。
答案 1 :(得分:1)
如果你把它添加到plist和project中,检查字体系列名称是否与文件名完全相同,它们有时会有所不同(可能是'Robot Bold'左右)......
可能有帮助的代码段(来自How to check if a font is available in version of iOS?)
NSArray *fontFamilies = [UIFont familyNames];
for (int i = 0; i < [fontFamilies count]; i++) {
NSString *fontFamily = [fontFamilies objectAtIndex:i];
NSArray *fontNames = [UIFont fontNamesForFamilyName:[fontFamilies objectAtIndex:i]];
NSLog (@"%@: %@", fontFamily, fontNames);
}
答案 2 :(得分:1)
如果你做了以上所有但仍然无法正常工作。 还有一个可能导致这种情况的XCODE错误 - 如果您从未在storyboard / xib上使用此自定义字体 - 使用此字体添加隐藏标签(来自Interface Builder),然后突然它将以编程方式识别它...
-Xcode 7.3.1 - 仍有此错误