ios - 我怎样才能使新的 UILabel 的默认颜色为黑色(而不是透明的)

标签 ios ios4 uiscrollview uilabel uicolor

我想尽可能多地使用 IB。因此,我想将 UILabel 从库调色板拖到 UIView。当我这样做时,UILabel 设置为白色(默认)。我希望默认颜色为黑色。我知道我可以通过编程方式执行此操作,但我正在努力避免这种情况。

问题: 我创建了一个 UIScrollView。我设置了尺寸,然后尝试添加 UILabel。

但是标签都是白色文本(很烦人,因为我必须更改每个标签的颜色属性)。

有没有办法让所有标签(从 IB 拖到 View 中的新标签)的默认文本颜色为黑色?

最佳答案

首先,如果更改像更改背景颜色一样微不足道,并且您想更改默认颜色,则必须有数百个(或至少数十个)标签,这告诉我真正的问题出在某个地方否则。

不过,如果你真的想这样做,我可以想出几个办法:

  1. 子类 UILabel 并覆盖 initWithCoder 或在您的子类中更改颜色。然后更改标签的类以指向您的子类,这并不比更改颜色容易,而且您甚至不会在 IB 中看到结果。

  2. 如果这是任何其他 UIView 子类,则可以在协议(protocol)中覆盖 drawRect。要使其适用于 UILabel,您可能还必须进行文本绘制,但您仍然不会在 IB 中看到结果。只是列出您的选择。

  3. 如果你真的想在 IB 中看到结果,你可以疯狂地创建一个 IB 插件,这可能是用大锤杀死苍蝇的定义:http://cocoawithlove.com/2009/07/custom-views-in-interface-builder-using.html

  4. 最后,您可以等待 iOS 5 和 UIAppearance。查看“iOS 5 中有哪些新功能?”如果您是注册开发者。

关于ios - 我怎样才能使新的 UILabel 的默认颜色为黑色(而不是透明的),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7302977/

相关文章:

ios - 使用moya发送swiftyjson数组

iOS - 使用 auth0 删除同意对话框第 3 方身份验证

objective-c - 在 Controller 实例变量中存储现有对象时是否需要 'retain'?

ios - 使用Autolayout的UIScrollView只会反弹

ios - 尝试将苹果的页面控件示例合并到 Storyboard View Controller 中

ios - Away3d 4 + IOS StageWebView + 视频全屏 = View3D 空

iPhone UI 导航问题 - 嵌套推送动画可能会导致导航栏损坏

iphone - NSDateFormatter 无法与 UTC 正常工作

ios - 检测用户何时将手指离开 UIScrollView

java - 获取错误 : Please make sure to specify the 'deviceName' capability in Appium v1. 0.0