По какой-то причине мой UITableViewCell показывает смесь шрифтов.Вот снимок экрана, который демонстрирует, что я имею в виду:
Обратите внимание, что последний номер в каждой строке - неправильный шрифт.Судя по моему тестированию, некоторые символы случайно запутались, поэтому не позволяйте факту, что это последние символы на этом скриншоте, сбивают вас с толку.
Вот мой код для установки шрифтов:
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
UIImageView *iv;
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
[[cell textLabel] setFont: [UIFont fontWithName:@"BangBang" size: 36.0]];
[[cell detailTextLabel] setFont: [UIFont fontWithName:@"BangBang" size: 32.0]];
iv = [[UIImageView alloc] initWithImage:[UIImage imageNamed: @"woodTableRow~ipad.png"]];
} else {
[[cell textLabel] setFont: [UIFont fontWithName:@"BangBang" size: 22.0]];
[[cell detailTextLabel] setFont: [UIFont fontWithName:@"BangBang" size: 22.0]];
iv = [[UIImageView alloc] initWithImage:[UIImage imageNamed: @"woodTableRow.png"]];
}
[cell setBackgroundView: iv];
[iv release];
cell.textLabel.textColor = [UIColor blackColor];
[[cell textLabel] setShadowColor: [UIColor whiteColor]];
[[cell textLabel] setShadowOffset: CGSizeMake(0, 1)];
[[cell textLabel] setBackgroundColor: [UIColor clearColor]];
cell.detailTextLabel.textColor = [UIColor blackColor];
[[cell detailTextLabel] setShadowColor: [UIColor whiteColor]];
[[cell detailTextLabel] setShadowOffset: CGSizeMake(0, 1)];
[[cell detailTextLabel] setBackgroundColor: [UIColor clearColor]];
switch (indexPath.row) {
case ScoreRow:
[[cell textLabel] setText: @"Score"];
[[cell detailTextLabel] setText: @"1,234"];
break;
case TimeRow:
[[cell textLabel] setText: @"Time"];
[[cell detailTextLabel] setText: @"0:39"];
break;
default:
[[cell textLabel] setText: @""];
[[cell detailTextLabel] setText: @""];
break;
}
}
Это не имеет смысла для меня.Кто-нибудь может помочь?
Обновление:
Следует отметить, что я посмотрел на эти два вопроса StackOverFlow, но ни один из них не помог:
Шрифт UITableViewCell не изменяется
Что такое - [UITableViewDelegate willDisplayCell: forRowAtIndexPath:] для?