gpt4 book ai didi

ios - 如何改变UIView中所有文字的文字颜色?

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:15:51 26 4
gpt4 key购买 nike

我正在构建一个具有 2 个主题(深色和浅色)的 iOS 应用,其中背景会改变颜色。

我现在的问题是文本颜色的变化。如何将所有标签的文字颜色设置为lightTextColor

这是我改变颜色的地方:

- (void)changeColor {
NSUserDefaults *standardDefaults = [NSUserDefaults standardUserDefaults];
NSString *themeSetting = [standardDefaults stringForKey:@"themeKey"];
if ([themeSetting isEqualToString:@"lightTheme"]) {
self.view.backgroundColor = [UIColor whiteColor];
} else {
self.view.backgroundColor = [UIColor blackColor];
}
}

文本颜色的变化必须以某种方式进入那里......

最佳答案

遍历 self.view.subviews 中的所有 UIView 并检查它是否是 UILabel 类型。如果是,则将 View 转换到标签并设置颜色。

- (void)changeColor {
NSUserDefaults *standardDefaults = [NSUserDefaults standardUserDefaults];
NSString *themeSetting = [standardDefaults stringForKey:@"themeKey"];
if ([themeSetting isEqualToString:@"lightTheme"]) {
self.view.backgroundColor = [UIColor whiteColor];
} else {
self.view.backgroundColor = [UIColor blackColor];

//Get all UIViews in self.view.subViews
for (UIView *view in [self.view subviews]) {
//Check if the view is of UILabel class
if ([view isKindOfClass:[UILabel class]]) {
//Cast the view to a UILabel
UILabel *label = (UILabel *)view;
//Set the color to label
label.textColor = [UIColor redColor];
}
}

}
}

关于ios - 如何改变UIView中所有文字的文字颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25585543/

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