如何在 Interface Builder 和代码之间共享常量?
我想知道是否有一种方法可以在 Interface Builder 中使用常量,以避免在不同的地方手动设置相同的颜色(有时这可能是一项非常繁琐的工作......)
目前我在代码中设置颜色并使用#define设置颜色,但显然IB不能使用#define...
I wonder if there is a way to use constants in Interface Builder, in order to avoid manually setting the same color at different places for example (it could be a very tedious job sometimes...)
Currently I set the color in the code and use #define to setup the color, but obviously IB can't use #define...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我通过对各种控件进行子类化来解决这个问题,以确保整个应用程序具有相同的样式。缺点是您无法在界面生成器中看到样式,只能看到线框。
例如我有一个
I have worked around this issue by subclassing the various controls to ensure the same style throughout the app. The drawback is that you can not see the style in interface builder only a wireframe.
For example I have a
我认为最简单的方法是在 UIColor 类上创建一个类别并在其上创建一个类方法。例如:
将其放入头文件中(例如 UIColor+CustomColors.h):
将其放入实现文件中(例如 UIColor+CustomColors.m)
然后您就可以在代码中的任何位置访问该类方法,如下所示:
请参阅 Apple 有关类别的文档了解更多信息。
或者,您可以通过系统调色板保存颜色样本。为此,您只需调用系统调色板,选择一种颜色并将其拖到颜色网格中即可。
这些颜色现在不仅可以在您创建的每个 Interface Builder 文档中使用,而且可以在使用系统调色板的任何应用程序中使用。
调色板 http://img.skitch.com/20091030-dhh3tnfw5d8hkynyr7e5q3amwg.png
I think the easiest way to do this would be to create a category on the UIColor class and create a class method on it. For example:
Place this in a header file (e.g. UIColor+CustomColors.h):
Place this in an implementation file (e.g. UIColor+CustomColors.m)
Then you have access to the class method anywhere in your code like so:
See Apple's documentation on Categories for more info.
Alternatively, you can save swatches of color through the system color palette. To do this you simply call up the system color palette, select a color and drag it into the grid of colors.
These colors are now available in not only every Interface Builder document you create, but any application that makes use of the system color palette.
color palette http://img.skitch.com/20091030-dhh3tnfw5d8hkynyr7e5q3amwg.png