我正在使用 UIAppearance
设置应用程序中所有标签的文本颜色。然而文本颜色不会改变。
这是我如何创建标签的示例
//show the loading message
MessageLabel *messageLabel = [[MessageLabel alloc] initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height)];
messageLabel.text = @"\n\nLoading ...\n\n";
messageLabel.numberOfLines = 0;
messageLabel.textAlignment = NSTextAlignmentCenter;
[messageLabel sizeToFit];
self.tableview.backgroundView = messageLabel;
这是我设置文本颜色的方法
[[MessageLabel appearance] setTextColor:[UIColor blackColor]];
需要注意的是,所有这些
MessageLabel
都是 UITableView 的 BackgroundViews 最佳答案
提到 this , UIAppearance 似乎并不真正适用于 UILabel ...
由于您是从 UILabel 继承的子类,也许在 MessageLabel 类中设置 textcolor
属性 initWithFrame:
方法是有意义的?
或者另一种选择,因为你说这些 MessageLabel 实例用于 UITableViewCell 的背景,也许让标签的背景清晰并更改单元格本身的背景是有意义的,例如在 tableView 的委托(delegate)中的 tableView:willDisplayCell:forRowAtIndexPath:
方法中?
关于objective-c - UIAppearance 对 Label 文本颜色没有影响,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34466850/