0

我有一个在我的 mainViewController 中使用的自定义 UILabel 类。

我有一个设置屏幕,根据设置屏幕中选择的颜色,mainViewController 中使用的所有 UILabel 都必须更新选择的颜色。

假设我的 UILabel 颜色在主屏幕中为黑色,我转到设置屏幕并将颜色更改为白色,当我回到主屏幕时,我希望所有子类标签将标签颜色更新为白色。

我想在我的 customUILabel 实现类中而不是在 mainViewController 中更新这个颜色,因为这个标签在我的应用程序的其他 100 个地方被使用。我需要单点代码更改来更新颜色。

我曾尝试在我的 viewController 的 viewWillAppear 中使用 setNeedsDisplay,但它不起作用!

让这个实现工作有什么想法吗?

4

1 回答 1

0

当您更改颜色时,您在 NSString 中设置颜色名称并将其保存在 NSUserDefaults 中。

保存它: NSString *colorName = K_COLOR_RED; [[NSUserDefaults standardUserDefaults] setValue:colorName forKey:K_KEY_COLOR_LABEL];

要检索它: [[NSUserDefaults standardUserDefaults] stringForKey:K_KEY_COLOR_LABEL];

颜色 K_COLOR_RED 和 K_KEY_COLOR_LABEL 必须存在于 Global.h 中!!

这对我来说很好!

于 2013-12-05T12:22:11.303 回答