是否可以在 .xib 文件中使用对颜色的引用而不是颜色?
Posted
技术标签:
【中文标题】是否可以在 .xib 文件中使用对颜色的引用而不是颜色?【英文标题】:Is it possible to use references to colors instead of colors in .xib files? 【发布时间】:2012-11-07 08:46:39 【问题描述】:在开发 iPhone 应用程序时,我需要为各种客户端创建该应用程序的“副本”,其中包括更改应用程序文本、背景的所有颜色......
我想知道是否可以将颜色存储在以下位置:
文本-> #fffffff secondaryText -> #808080 背景 -> #707070 ...然后在 xib 文件中使用这些引用而不是实际的颜色值。我想这样做是为了避免复制 xib 文件并使它们无法维护。 这个想法类似于 android 的资源,例如您可以在其中使用“@color/text”
【问题讨论】:
您可以以编程方式设置颜色值。我认为 IBOutlet 可以帮助您。 【参考方案1】:您希望将单个应用程序提供给具有不同外观和感觉的三个客户。但在功能上它们是相同的。对吧?
那么你可以为三个客户端拥有 3 个 xib 文件 mainView_first.xib、mainView_second.xib、mainView_third.xib。将它们的插座连接到单个 .h 文件 (mainView.h)。 您可以在这些 xib 文件中进行自己的自定义。 你可以像这样加载文件
mainView *main=[[mainView alloc]initWithnibName:@"nameofthexibfile"];
【讨论】:
不完全是,我想使用相同的 xib 文件,但不是直接指定颜色,而是告诉 xib 在 plist、xml 或其他任何内容中查找颜色。类似于 android 使用 color.xml 和 "@color/dark-text"【参考方案2】:您可以通过编程方式实现这一点 -
一个。创建一个 color.plist 文件,在其中存储您要使用的所有颜色名称和值。
b.然后创建一个颜色工具类,该类具有转换UIColor
对象中这些值的方法。
c。在您的应用中使用这些方法来设置背景颜色、标签颜色等。
【讨论】:
我现在正在这样做,但我认为它添加了太多应该在 xib 中的代码......以上是关于是否可以在 .xib 文件中使用对颜色的引用而不是颜色?的主要内容,如果未能解决你的问题,请参考以下文章
是否可以使用 xib 或情节提要对 UITableViewController 进行子类化?
如何在 xib 的 xml 文件的 NSRGB 标签中编码十六进制颜色?