在利用Xib开发的过程,UILabel可以直接在Xib上设置,所见即所得非常方便,但是如果颜色值需要改变就需要一个一个页面修改,非常麻烦。网上搜索了下好像没有找到很好的解决方案。下面分享一下自己在项目的方案仅供参考!
解决办法一
Xib上每个UILabel连线用代码统一设置,这样配置一个颜色值的宏,如果有变动统一修改颜色值即可,不方便的地方就是麻烦,如果界面UILabel多连线多。
#ifndef ColorConfig_h
#define ColorConfig_h
#define color_13234C @"13234C"
#define color_818FB4 @"818FB4"
#define color_2974FF @"2974FF"
#define color_FF6941 @"FF6941"
#define color_0FB167 @"0FB167"
#define color_F2F6F9 @"F2F6F9"
#define color_0FB167 @"0FB167"
#define color_FFBD2F @"FFBD2F"
#define color_999999 @"999999"
#endif /* ColorConfig_h */
解决办法二
自定义一个颜色值对应的UILabel
#import "UILabel_13234C.h"
@implementation UILabel_13234C
- (instancetype)initWithCoder:(NSCoder *)aDecoder
{
self = [super initWithCoder:aDecoder];
if (self) {
[self initTextColor];
}
return self;
}
- (void)initTextColor{
self.textColor = [UIColor getColorWithHexString:color_13234C];
}
@end
Xib上UILabel直接继承就可以,如果有颜色值变动,修改自定义的颜值即可,非常方便。
左图是Xib上设置的颜色值,右边是运行的颜色值,所以即使在Xib上设置了颜色值也不影响。最后还是变成代码设置的颜色值。
截屏2021-07-15 09.54.20.png
解决办法3
直接在Assets.xcassets 设置颜色值
截屏2021-07-19 10.59.52.png
使用的时候直接选择更方便
截屏2021-07-19 11.01.54.png
感谢Albert88888分享的解决办法。
个人感觉解决办法3比较好用,所见即所得很直观的看到颜色。
如果有其他好的解决办法烦请告知一下。
网友评论