UILabel 自动改变颜色

Posted

技术标签:

【中文标题】UILabel 自动改变颜色【英文标题】:UILabel automatically changes color 【发布时间】:2013-07-02 09:56:54 【问题描述】:

我遇到了一个非常奇怪的问题:我的视图中有一些 UILabel,它有黑色背景,所以我在 Interface Builder 中将它们的文本颜色设置为白色以便看到它们,问题是,当我运行模拟器上的应用程序或我的 iphone 上的 ios7 或 iOS 6.1.3 我可以毫无问题地更新它们(更新我的意思是:myLabel.text = @"Something")

但是当我在我姐姐的 iphone 3gs 上运行 iOS 6.0 应用程序时,我更新它们时字体颜色变为黑色。在她的手机上,标签似乎不记得在 IB 上设置的颜色了。

你们中有人知道为什么会发生这种情况吗? 谢谢

【问题讨论】:

本题与xcode、text、update无关 好吧,更新可能不会,但我认为 uilabel 与文本有关,Xcode 用于编译它,它也可能是编译器的错误,所以......最后一件事我认为仅仅评论一些标签“不那么”相关而不是给出真正的答案是不礼貌的。无论如何... 您是否尝试过休闲 '从手机中删除应用程序;在 XCode 中清理/构建项目'了吗? 标签文本类型设置为“Plain”还是“Attributed”? 我会尽快尝试 makaron 的解决方案,并让您知道,同时欢迎其他人有替代解决方案 【参考方案1】:

听起来您在 Interface Builder 中将标签“type”设置为“Attributed”。

如果是这种情况,那么保存文本颜色的不是标签。就是文字本身。

如果您将文本替换为其他内容,则将使用默认的黑色文本颜色。

如果你想继续使用属性文本,那么你需要在设置标签之前给文本添加一个“foregroundColor”属性。

解决此问题的更简单方法是在 Interface Builder 中将标签类型更改为“Plain”。

当然,这取决于您是否将其设置为 Attributed。

【讨论】:

刚刚检查过,它们都设置为普通的,所以问题与此无关,无论如何谢谢:)【参考方案2】:

我认为您不应该在界面构建器中使用默认标签颜色,只需提供其他颜色(黑色等)。

【讨论】:

以上是关于UILabel 自动改变颜色的主要内容,如果未能解决你的问题,请参考以下文章

UILabel 分段改变文字颜色和字体

XIB 中的 UILabel 字体大小不会改变,而颜色会改变

UITableView,UILabel 文本颜色在选择行时没有改变? [关闭]

iOS @IBDesignable 自动刷新 UILabel 参数为标题、字体、颜色

Swift - UILabel部分字体变颜色

Swift - UILabel部分字体变颜色