我有一个自定义UILabel类,在我的mainViewController中使用。
我有一个设置屏幕,根据设置屏幕中选择的颜色,mainViewController中使用的所有UILabel都必须更新所选的颜色。
让我说我的UILabel颜色在主屏幕上是黑色的,我进入设置屏幕并将颜色更改为白色,当我回到主屏幕时,我希望所有子类标签将标签颜色更新为白色。 / p>
我想在customUILabel实现类中而不是在mainViewController中更新此颜色,因为此标签已在我的应用程序中的其他100个地方使用。我需要单点代码更改来更新颜色。
我尝试在viewController的viewWillAppear中使用setNeedsDisplay,它不起作用!
有关实施此实施的任何想法吗?
答案 0 :(得分: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 !!
这对我来说很好!