圆咕噜咕噜 发表于 2024-10-8 01:31:03

iOS 利用Hex色值设置颜色(可设置透明度利用4个字节色值赋值)

一、先了解什么是Hex色值

简单来说就是用十六机制来表现三原色,三原色不同强度组合出不同颜色;
详见:Hex色值是什么(含透明度)
二、代码实现

iOS不如 Kotlin 有API可直接支持HEX赋值,得自己写个扩展方法
普通无透明度代码如下:

    // 示例
    NSString *hexStr = @"#FFFFFF";
    if () {
         hexStr = ;
    }
    // 解析RGB值
    NSUInteger red = 0, green = 0, blue = 0;
    [ scanHexInt:&red];
    [] scanHexInt:&green];
    [] scanHexInt:&blue];

    // 将RGB值转换为CGFloat并创建UIColor
    CGFloat redFloat = (CGFloat)red / 255.0;
    CGFloat greenFloat = (CGFloat)green / 255.0;
    CGFloat blueFloat = (CGFloat)blue / 255.0;

    return ;
带透明度的代码如下(留意此处分析次序是RGBA,如仿Kotlin可改为ARGB):

    // 示例
    NSString *hexStr = @"#FFFFFFFF";
    if () {
         hexStr = ;
    }
    // 解析RGBA值
    NSUInteger red = 0, green = 0, blue = 0, alpha = 0;
    [ scanHexInt:&red];
    [] scanHexInt:&green];
    [] scanHexInt:&blue];
    [] scanHexInt:&alpha];

    // 将RGBA值转换为CGFloat并创建UIColor
    CGFloat redFloat = (CGFloat)red / 255.0;
    CGFloat greenFloat = (CGFloat)green / 255.0;
    CGFloat blueFloat = (CGFloat)blue / 255.0;
    CGFloat alphaFloat = (CGFloat)alpha / 255.0;

    return ;

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: iOS 利用Hex色值设置颜色(可设置透明度利用4个字节色值赋值)