Измените общий tintColor и размер шрифта UITableViewCellStyleValue2 textLabel в iOS 7
У меня есть Skinning
модуль, в котором я определяю мое приложение в целом tintColor
для общего использования в приложении:
+ (UIColor*)tintColor
{
return [UIColor colorWithRed:0.26f green:0.41f blue:1.00f alpha:1.00f];
}
и я использую это, чтобы установить общий оттенок приложения:
[UIApplication sharedApplication].keyWindow.tintColor = [Skinning tintColor];
Но UITableViewCellStyleValue2
Цвет `textLabel 'остался прежним. Так что я должен сделать:
cell.textLabel.textColor = [Skinning tintColor];
для каждой клетки.
Я полагаю, что нет единого способа установить это один раз, или есть?
У меня та же проблема для размера шрифта. По умолчанию это 15 пунктов, но в настройках iOS и т. Д. Они использовали системный шрифт из 18 пунктов.
1 ответ
У меня была такая же проблема и раньше, и я думаю, что лучшее решение - написать собственный подкласс UITableViewCell и настроить различные цвета textLabels в переопределенном конструкторе ячеек (например, – initWithStyle:reuseIdentifier:
). Там же вы можете установить размеры шрифта.
Другой подход (который, кажется, не подходит в вашем случае) будет использовать UIAppearance
прокси для меток, содержащихся в ячейках табличного представления, но тогда внешний вид будет установлен для каждого класса ячеек, каждой метки (основной и подробной), каждого стиля:
[[UILabel appearanceWhenContainedIn:[UITableViewCell class], nil] setTextColor:[Skinning tintColor]];
Кажется, нет никакого способа сделать это только для определенных стилей ячеек табличного представления.