iOS storyboard/xib的rgb颜色和代码设置颜色不一样

storyboard/xib中设置颜色:


xib中rgb.png

代码中用UIColor的类方法设置颜色

+ (UIColor *)colorWithRed:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha;

或者给UIColor添加个category:

/**
 设置颜色
 
 @param hexColorString # 格式 或者 0x 格式
 @param alpha 透明度
 @return 设置的颜色
 */
+ (UIColor *)colorWithHexString:(NSString *)hexColorString alpha:(CGFloat)alpha {
    if ([hexColorString length] < 6) { //长度不合法
        return [UIColor blackColor];
    }
    NSString *tempString = [hexColorString lowercaseString];
    if ([tempString hasPrefix:@"0x"]) { //检查开头是0x
        tempString = [tempString substringFromIndex:2];
    } else if ([tempString hasPrefix:@"#"]) { //检查开头是#
        tempString = [tempString substringFromIndex:1];
    }
    if ([tempString length] != 6) {
        return [UIColor blackColor];
    }
    //分解三种颜色的值
    NSRange range = NSMakeRange(0, 2);
    NSString *rString = [tempString substringWithRange:range];
    range.location = 2;
    NSString *gString = [tempString substringWithRange:range];
    range.location = 4;
    NSString *bString = [tempString substringWithRange:range];
    //取三种颜色值
    unsigned int r, g, b;
    [[NSScanner scannerWithString:rString] scanHexInt:&r];
    [[NSScanner scannerWithString:gString] scanHexInt:&g];
    [[NSScanner scannerWithString:bString] scanHexInt:&b];
    return [UIColor colorWithRed:((float)r / 255.0f)
                           green:((float)g / 255.0f)
                            blue:((float)b / 255.0f)
                           alpha:alpha];
}

通过storyboard/xib和代码设置的颜色色差很大,解决方法如下

方法1:storyboard/xib中直接改成device RGB

devRgb.png

方法2:

如果你的storyboard/xib很多,每个都去改动要用很多时间,用
Xcode-Color-Fixer
但是Xcode-Color-Fixer认为storyboard/xib中RGB的默认设置都是sRGB,我在检查自己项目时发现有些默认还有generic RGB等,所以一是在脚本中将generic RGB也替换,或者自己多检查一下~

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AI阅读 16,041评论 3 119
  • 因为要结局swift3.0中引用snapKit的问题,看到一篇介绍Xcode8,swift3变化的文章,觉得很详细...
    uniapp阅读 10,057评论 0 12
  • 《波纹》 文/无哲 这些古老的金色瓦楞 向南铺过去 与天空接壤 进入波纹的内部 我看到岁月的一半 浮在水面 另一半...
    山西无哲阅读 2,578评论 0 1
  • Michelle Petit, 女,43岁。银行工作人员。2017年以月18号初诊。主诉:子宫肌瘤伴慢性大量长期子...
    黄国健博士阅读 1,898评论 0 0
  • 微风渐行 没有留下什么 却带走了那份执着 泪化成了恨 夹杂着雨 随风飘远 没有一丝留恋 白纸上 寥寥几字 早已绘出...
    决断者阅读 937评论 0 3