【问题标题】:Refresh UILabel properties based on settings theme change根据设置主题更改刷新 UILabel 属性
【发布时间】:2013-12-03 06:08:01
【问题描述】:

我有一个自定义 UILabel 类,用于我的 mainViewController。

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

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

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

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

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

【问题讨论】:

  • 您好,我也只是在做这种任务...为了将 UILabel 更改为白色,我使用了通知中心。但它不起作用..您有什么想法吗?
  • 你的回复会对我更有帮助!!!!!!!!!

标签: oop uilabel subclassing setneedsdisplay


【解决方案1】:

当你改变颜色时,你在 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 中!!

这对我来说很好!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-30
    • 2012-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多