gpt4 book ai didi

objective-c - UIAppearance 对 Label 文本颜色没有影响

转载 作者:行者123 更新时间:2023-12-02 03:19:26 25 4
gpt4 key购买 nike

我正在使用 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

最佳答案

如前所述,UILabel 的 textColor 不适用于 UIAppearance。我通过添加一个只包装 textColor 的 UIAppearance 兼容属性来解决这个问题。在 Swift 中,这看起来像

class MessageLabel: UILabel {

@objc dynamic var configurableTextColor: UIColor {
get {
return textColor
}
set {
textColor = newValue
}
}

...
}

然后配置外观:

MessageLabel.appearance().configurableTextColor = .black

关于objective-c - UIAppearance 对 Label 文本颜色没有影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34466850/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com