我有一个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];
每个细胞。
我认为没有一种方法可以设置一次,或者在那里?
我对font-size有同样的问题。默认情况下它是15分,但在iOS设置等中,他们使用了18分系统字体。
答案 0 :(得分:2)
之前我遇到过同样的问题,我认为最好的解决方案是编写UITableViewCell的自定义子类,并在重写的单元格构造函数中设置各种textLabels颜色(例如– initWithStyle:reuseIdentifier:
)。
在同一位置,您还可以设置字体大小。
另一种方法(在您的情况下似乎不太合适)将使用UIAppearance
代理用于表格视图单元格中包含的标签,但随后将为每个单元格类设置外观,每个标签(主要和细节),每种风格:
[[UILabel appearanceWhenContainedIn:[UITableViewCell class], nil] setTextColor:[Skinning tintColor]];
似乎没有办法仅对某些表视图单元格样式执行此操作。