更改iOS 7中UITableViewCellStyleValue2 textLabel的整体tintColor和字体大小

时间:2014-02-25 23:56:44

标签: ios uitableview ios7 tintcolor

我有一个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分系统字体。

1 个答案:

答案 0 :(得分:2)

之前我遇到过同样的问题,我认为最好的解决方案是编写UITableViewCell的自定义子类,并在重写的单元格构造函数中设置各种textLabels颜色(例如– initWithStyle:reuseIdentifier:)。 在同一位置,您还可以设置字体大小。

另一种方法(在您的情况下似乎不太合适)将使用UIAppearance代理用于表格视图单元格中包含的标签,但随后将为每个单元格类设置外观,每个标签(主要和细节),每种风格:

[[UILabel appearanceWhenContainedIn:[UITableViewCell class], nil] setTextColor:[Skinning tintColor]];

似乎没有办法仅对某些表视图单元格样式执行此操作。