• “#ffffff”类型的十六进制字符串转换成数字 分段截取计算UIColor的RGB 直接返回颜色 传入字符串后分段截取调用字符串转换Int的方法- (UIColor *)getColor:(NSString *)hexColor { NSString *string = [hexColor ...

    “#ffffff”类型的十六进制字符串转换成数字
    分段截取计算UIColor的RGB 直接返回颜色

    传入字符串后分段截取调用字符串转换Int的方法

    - (UIColor *)getColor:(NSString *)hexColor {
        NSString *string = [hexColor substringFromIndex:1];//去掉#号
        unsigned int red,green,blue;
        NSRange range;
        range.length = 2;
    
        range.location = 0;
        /* 调用下面的方法处理字符串 */
        red = [self stringToInt:[string substringWithRange:range]];
    
        range.location = 2;
        green = [self stringToInt:[string substringWithRange:range]];
        range.location = 4;
        blue = [self stringToInt:[string substringWithRange:range]];
    
        return [UIColor colorWithRed:(float)(red/255.0f) green:(float)(green / 255.0f) blue:(float)(blue / 255.0f) alpha:1.0f];
    }

    截取后的字符串处理

    - (int)stringToInt:(NSString *)string {
    
        unichar hex_char1 = [string characterAtIndex:0]; /* 两位16进制数中的第一位(高位*16) */
        int int_ch1;
        if (hex_char1 >= '0' && hex_char1 <= '9')
            int_ch1 = (hex_char1 - 48) * 16;   /* 0 的Ascll - 48 */
        else if (hex_char1 >= 'A' && hex_char1 <='F')
            int_ch1 = (hex_char1 - 55) * 16; /* A 的Ascll - 65 */
        else
            int_ch1 = (hex_char1 - 87) * 16; /* a 的Ascll - 97 */
        unichar hex_char2 = [string characterAtIndex:1]; /* 两位16进制数中的第二位(低位) */
        int int_ch2;
        if (hex_char2 >= '0' && hex_char2 <='9')
            int_ch2 = (hex_char2 - 48); /* 0 的Ascll - 48 */
        else if (hex_char1 >= 'A' && hex_char1 <= 'F')
            int_ch2 = hex_char2 - 55; /* A 的Ascll - 65 */
        else
            int_ch2 = hex_char2 - 87; /* a 的Ascll - 97 */
        return int_ch1+int_ch2;
    }
    

    方法使用

    /* 直接调用即可 */
    self.backgroundColor = [self getColor:@"#ff5c6f"];
    展开全文
  • iOS开发中,除了使用固定的基本颜色之外,常常也需要使用自定义的颜色,那么这就涉及到了RGB的色值使用问题。  一、对RGB的色值使用的时候,可将对颜色的设置定义成宏(设置宏定义),方便开发使用,eg: 1.获取RGB...

    iOS开发中,除了使用固定的基本颜色之外,常常也需要使用自定义的颜色,那么这就涉及到了RGB的色值使用问题。

    一、对RGB的色值使用的时候,可将对颜色的设置定义成宏(设置宏定义),方便开发使用,eg:

    1.获取RGB颜色:
    #define RGBA(r,g,b,a) [UIColor colorWithRed:r/255.0 green:g/255.0 blue:b/255.0 alpha:a]
    #define RGB(r,g,b) RGBA(r,g,b,1.0)
    2.RGB颜色转换(16进制-->10进制):
    #define UIColorFromRGB(rgbValue) [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 green:((float)((rgbValue & 0xFF00) >> 8))/255.0 blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.0]
     

    二、给控件设置RGB颜色:

    UIColor本身就自带一些常用基本的颜色,eg:whiteColor,blueColor,orangeColor等,但是使用自定义颜色的时候就用到通过16进制颜色转换成RGB值才能使用。举个简单的例子,eg:给Label直接设置一个自定义颜色:

    UILabel *label = [[UILabel alloc] initWithName:@"Label" size:15.0];
    label.textColor = [UIColor colorWithRed:139.0/255 green:188.0/255 blue:138.0/255 alpha:1];

    三、将颜色值 # 转 成RGB的方法:

    将一个“#FF0000”转换成 RGB方法
    NSString *str = @“#FF0000”;
    // 将str转换成十六进制数
    [str replaceCharactersInRange:[color rangeOfString:@"#" ] withString:@"0x"];
    // 将十六进制字符串转成整型
    long colorLong = strtoul([color cStringUsingEncoding:NSUTF8StringEncoding], 0, 16);
    // 再通过位与方法获取三色值
    int R = (colorLong & 0xFF0000 )>>16;
    int G = (colorLong & 0x00FF00 )>>8;
    int B = colorLong & 0x0000FF;
    //将string转换成color
    UIColor *wordColor = [UIColor colorWithRed:R/255.0 green:G/255.0 blue:B/255.0 alpha:1.0];

    四、推荐一个很吊的RGB与16进制色互转的网站

    RGB与16进制色互转网址: http://tool.css-js.com/rgba.html


    五、XIB里面给控件设置RGB色值的方法

    打开xib,然后点击选择控件,在右侧的工具栏里面找到属性栏,Background里面点击下拉菜单,找到Other选项,会弹出一个设置弹框,然后找到RGB Sliders选项,然后修改里面的RGB色值,即可设置控件的自定义颜色了。具体步骤如下:







    附:RGB色值表

    R
    G
    B
     
    R
    G
    B
     
    R
    G
    B
    黑色
    0
    0
    0
    #000000
    黄色
    255
    255
    0
    #FFFF00
    浅灰蓝色
    176
    224
    230
    #B0E0E6
    象牙黑
    41
    36
    33
    #292421
    香蕉色
    227
    207
    87
    #E3CF57
    品蓝
    65
    105
    225
    #4169E1
    灰色
    192
    192
    192
    #C0C0C0
    镉黄
    255
    153
    18
    #FF9912
    石板蓝
    106
    90
    205
    #6A5ACD
    冷灰
    128
    138
    135
    #808A87
    dougello
    235
    142
    85
    #EB8E55
    天蓝
    135
    206
    235
    #87CEEB
    石板灰
    112
    128
    105
    #708069
    forum gold
    255
    227
    132
    #FFE384
             
    暖灰色
    128
    128
    105
    #808069
    金黄色
    255
    215
    0
    #FFD700
    青色
    0
    255
    255
    #00FFFF
             
    黄花色
    218
    165
    105
    #DAA569
    绿土
    56
    94
    15
    #385E0F
    白色
    225
    225
    225
    #FFFFFF
    瓜色
    227
    168
    105
    #E3A869
    靛青
    8
    46
    84
    #082E54
    古董白
    250
    235
    215
    #FAEBD7
    橙色
    255
    97
    0
    #FF6100
    碧绿色
    127
    255
    212
    #7FFFD4
    天蓝色
    240
    255
    255
    #F0FFFF
    镉橙
    255
    97
    3
    #FF6103
    青绿色
    64
    224
    208
    #40E0D0
    白烟
    245
    245
    245
    #F5F5F5
    胡萝卜色
    237
    145
    33
    #ED9121
    绿色
    0
    255
    0
    #00FF00
    白杏仁
    255
    235
    205
    #FFFFCD
    桔黄
    255
    128
    0
    #FF8000
    黄绿色
    127
    255
    0
    #7FFF00
    cornsilk
    255
    248
    220
    #FFF8DC
    淡黄色
    245
    222
    179
    #F5DEB3
    钴绿色
    61
    145
    64
    #3D9140
    蛋壳色
    252
    230
    201
    #FCE6C9
             
    翠绿色
    0
    201
    87
    #00C957
    花白
    255
    250
    240
    #FFFAF0
    棕色
    128
    42
    42
    #802A2A
    森林绿
    34
    139
    34
    #228B22
    gainsboro
    220
    220
    220
    #DCDCDC
    米色
    163
    148
    128
    #A39480
    草地绿
    124
    252
    0
    #7CFC00
    ghostWhite
    248
    248
    255
    #F8F8FF
    锻浓黄土色
    138
    54
    15
    #8A360F
    酸橙绿
    50
    205
    50
    #32CD32
    蜜露橙
    240
    255
    240
    #F0FFF0
    锻棕土色
    135
    51
    36
    #873324
    薄荷色
    189
    252
    201
    #BDFCC9
    象牙白
    250
    255
    240
    #FAFFF0
    巧克力色
    210
    105
    30
    #D2691E
    草绿色
    107
    142
    35
    #6B8E23
    亚麻色
    250
    240
    230
    #FAF0E6
    肉色
    255
    125
    64
    #FF7D40
    暗绿色
    48
    128
    20
    #308014
    navajoWhite
    255
    222
    173
    #FFDEAD
    黄褐色
    240
    230
    140
    #F0E68C
    海绿色
    46
    139
    87
    #2E8B57
    old lace
    253
    245
    230
    #FDF5E6
    玫瑰红
    188
    143
    143
    #BC8F8F
    嫩绿色
    0
    255
    127
    #00FF7F
    海贝壳色
    255
    245
    238
    #FFF5EE
    肖贡土色
    199
    97
    20
    #C76114
             
    雪白
    255
    250
    250
    #FFFAFA
    标土棕
    115
    74
    18
    #734A12
    紫色
    160
    32
    240
    #A020F0
             
    乌贼墨棕
    94
    38
    18
    #5E2612
    紫罗蓝色
    138
    43
    226
    #8A2BE2
    红色
    255
    0
    0
    #FF0000
    赫色
    160
    82
    45
    #A0522D
    jasoa
    160
    102
    211
    #A066D3
    砖红
    156
    102
    31
    #9C661F
    马棕色
    139
    69
    19
    #8B4513
    湖紫色
    153
    51
    250
    #9933FA
    镉红
    227
    23
    13
    #E3170D
    沙棕色
    244
    164
    96
    #F4A460
    淡紫色
    218
    112
    214
    #DA70D6
    珊瑚色
    255
    127
    80
    #FF7F50
    棕褐色
    210
    180
    140
    #D2B48C
    梅红色
    221
    160
    221
    #DDA0DD
    耐火砖红
    178
    34
    34
    #B22222
                     
    印度红
    176
    23
    31
    #B0171F
    蓝色
    0
    0
    255
    #0000FF
           
    栗色
    176
    48
    96
    #B03060
    钴色
    61
    89
    171
    #3D59AB
           
    粉红
    255
    192
    203
    #FFC0CB
    dodger blue
    30
    144
    255
    #1E90FF
           
    草莓色
    135
    38
    87
    #872657
    jackie blue
    11
    23
    70
    #0B1746
           
    橙红色
    250
    128
    114
    #FA8072
    锰蓝
    3
    168
    158
    #03A89E
           
    蕃茄红
    255
    99
    71
    #FF6347
    深蓝色
    25
    25
    112
    #191970
           
    桔红
    255
    69
    0
    #FF4500
    孔雀蓝
    51
    161
    201
    #33A1C9
           
    深红色
    255
    0
    255
    #FF00FF
    土耳其玉色
    0
    199
    140
    #00C78C




    展开全文
  • extension UIColor {  class func hexStringToColor(hexString: String) -> UIColor{  var cString: String = hexString.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineChar

    extension UIColor {

        class func hexStringToColor(hexString: String) -> UIColor{

            var cString: String = hexString.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet())

            

            if cString.characters.count < 6 {return UIColor.blackColor()}

            if cString.hasPrefix("0X") {cString = cString.substringFromIndex(cString.startIndex.advancedBy(2))}

            if cString.hasPrefix("#") {cString = cString.substringFromIndex(cString.startIndex.advancedBy(1))}

            if cString.characters.count != 6 {return UIColor.blackColor()}

            

            var range: NSRange = NSMakeRange(0, 2)

            

            let rString = (cString as NSString).substringWithRange(range)

            range.location = 2

            let gString = (cString as NSString).substringWithRange(range)

            range.location = 4

            let bString = (cString as NSString).substringWithRange(range)

            

            var r: UInt32 = 0x0

            var g: UInt32 = 0x0

            var b: UInt32 = 0x0

            NSScanner.init(string: rString).scanHexInt(&r)

            NSScanner.init(string: gString).scanHexInt(&g)

            NSScanner.init(string: bString).scanHexInt(&b)

            

            return UIColor(red: CGFloat(r)/255.0, green: CGFloat(g)/255.0, blue: CGFloat(b)/255.0, alpha: CGFloat(1))

            

        }

    }

    代码直接放进扩展类中就可以用,具体用法例如:

    let view = UIView()

    view.backgroundColor  = UIColor.hexStringToColor("ffffff")

    展开全文
  • 但实际我们所需要的更多色调都有具体的十六进制表示,接下来我们就看看十六进制颜色与我们经常使用的RGB值之间的转换 1.由于文中经常用到,所以我直接在一个类中封装一个HEX转化方法,以便后面方便使用: .h中 #...

    在iOS开发中,我们常常会在界面色调搭配的时候选色比较麻烦,因为系统大多提供给我们的是一些基本颜色,还有就是取色器强行配色。但实际我们所需要的更多色调都有具体的十六进制表示,接下来我们就看看十六进制颜色与我们经常使用的RGB值之间的转换

    1.由于文中经常用到,所以我直接在一个类中封装一个HEX转化方法,以便后面方便使用:

    .h文件:

    #import <Foundation/Foundation.h>
    #import <UIKit/UIKit.h>
    @interface HexColor : NSObject

    /*.h中进行申明方法*/

    + (UIColor *)colorWithHexString:(NSString *)color;
    
    @end

    .m文件:

    #import "HexColor.h"
    @implementation HexColor
    #pragma mark -- 16进制Color转换
    
    + (UIColor *)colorWithHexString:(NSString *)color
    
    {
        NSString *cString = [[colorstringByTrimmingCharactersInSet:[NSCharacterSetwhitespaceAndNewlineCharacterSet]]uppercaseString];
    
        if ([cStringlength] < 6) {
            return [UIColorclearColor];
        }
    
        if ([cStringhasPrefix:@"0X"])
    
            cString = [cString substringFromIndex:2];
    
        if ([cStringhasPrefix:@"#"])
    
            cString = [cString substringFromIndex:1];
    
        if ([cStringlength] != 6)
    
            return [UIColorclearColor];
    
        NSRange range;
        range.location =0;
        range.length =2;
        NSString *rString = [cStringsubstringWithRange:range];
        range.location =2;
        NSString *gString = [cStringsubstringWithRange:range];
        range.location =4;
        NSString *bString = [cStringsubstringWithRange:range];
        unsignedint r, g, b;
    
        [[NSScannerscannerWithString:rString] scanHexInt:&r];
        [[NSScannerscannerWithString:gString] scanHexInt:&g];
        [[NSScannerscannerWithString:bString] scanHexInt:&b];
    
        return [UIColorcolorWithRed:((float) r /255.0f) green:((float) g /255.0f) blue:((float) b /255.0f) alpha:1.0f];
    }
    @end

    2.例如在某个颜色设置中调用:

     self.view.backgroundColor = [HexColorcolorWithHexString:@"a1f1f2"];

    PS:这样就可以方便我们随意搭配了。

    展开全文
  • 16进制颜色转换为UIColor @param hexColor 16进制字符串(可以以0x开头,可以以#开头,也可以就是6位的16进制) @param opacity 透明度 @return 16进制字符串对应的颜色 */ +(UIColor *)colorWithHexString:...
    • 字符串十六进制颜色值转换为UIColor:
    /**
     16进制颜色转换为UIColor
    
     @param hexColor 16进制字符串(可以以0x开头,可以以#开头,也可以就是6位的16进制)
     @param opacity 透明度
     @return 16进制字符串对应的颜色
     */
    +(UIColor *)colorWithHexString:(NSString *)hexColor alpha:(float)opacity{
        NSString * cString = [[hexColor stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] uppercaseString];
    
        // String should be 6 or 8 characters
        if ([cString length] < 6) return [UIColor blackColor];
    
        // strip 0X if it appears
        if ([cString hasPrefix:@"0X"]) cString = [cString substringFromIndex:2];
        if ([cString hasPrefix:@"#"]) cString = [cString substringFromIndex:1];
    
        if ([cString length] != 6) return [UIColor blackColor];
    
        // Separate into r, g, b substrings
        NSRange range;
        range.location = 0;
        range.length = 2;
        NSString * rString = [cString substringWithRange:range];
    
        range.location = 2;
        NSString * gString = [cString substringWithRange:range];
    
        range.location = 4;
        NSString * bString = [cString substringWithRange:range];
    
        // Scan values
        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:opacity];
    }
    • 十六进制数值转换为UIColor:
    +(UIColor*)colorWithRGB:(NSUInteger)hex
                      alpha:(CGFloat)alpha
    {
        float r, g, b, a;
        a = alpha;
        b = hex & 0x0000FF;
        hex = hex >> 8;
        g = hex & 0x0000FF;
        hex = hex >> 8;
        r = hex;
    
        return [UIColor colorWithRed:r/255.0f 
                               green:g/255.0f 
                               blue:b/255.0f 
                               alpha:a];
    }

    这两个方法建议以类方法写在UIColor的分类中,调用示例:

    //字符串十六进制颜色值转换为UIColor
    self.view.backgroundColor = [UIColor colorWithHexString:@"000000" alpha:0.4];
    //十六进制数值转换为UIColor
    self.view.backgroundColor = [UIColor colorWithRGB:0x242424 alpha:0.7];
    展开全文
  • ios扩展16进制颜色

    2018-10-18 09:23:42
    iOS开发一般都是用到RGB颜色,美工给我们作图的时候往往给我们的色值都是十六进制的颜色如 #ff0000,如果先把16进制转换为RGB 的10 进制那将是非常麻烦的事,我们可以为 UIColor 添加一个扩展类(UIColor+Ext.swift)...
  • iOS开发16进制颜色转10进制RGB颜色
  • 宏定义方法#define RGB(r,g,b,a) [UIColor colorWithRed:r/255.0 green:g/255.0 blue:b/255.0 alpha:a]#define HexToRGB(rgbValue) [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 green:(...
  • 在UIColor的类里面添加类别方法,可直接使用输入十六进制颜色,无需转换+ (UIColor *)colorWithHexString:(NSString *)color { NSString *cString = [[color stringByTrimmingCharactersInSet:[NSCharacterSet ...
  • 创建UIColor的分类// UIColor+Addition.h#import <UIKit/UIKit.h>@interface UIColor (Addition)/// 使用 16 进制数字创建颜色,例如 0xFF0000 创建红色 /// /// @param hex 16 进制无符号32位整数 /// /// @return ...
  • // 颜色RGB #define UIColorFromRGB(rgbValue) [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 green:((float)((rgbValue & 0xFF00) >> 8))/255.0 blue:((float)(rgbValue & 0xFF))/255.0 ...
  • iOS中RGB常用的色值,同时可将...// RGB颜色转换16进制->10进制)#define UIColorFromRGB(rgbValue) [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 green:((float)((rgbValue & 0xFF00) >> 8)
  • 首先,介绍一下字符串转换成... * @brief 字符串转换16进制的字符  *  * @param string 要转换的字符串  *  * @return 返回得到的16进制字符串  */ + (NSString *)hexStringFromString:(NSString *)strin
  • 最近在开发中遇到了16进制颜色转换成RGB的问题,我在网上看了好多感觉没有适合自己的,现在我根据我遇到的问题为大家分享下,希望对遇到同样问题的小伙伴有帮助。 #FFFFFFFF其中#后面的前2位为16进制表示透明度的...
  • #import <UIKit/UIKit.h>... * 方法描述:透明度固定为1,以0x开头的十六进制转换 * * @param hexColor 0x开头的十六进制 * @return UIColor(RGB) * */ + (UIColor *)colorWithHex:(long)hexCo...
  • IOS中十六进制颜色转换为UIColor #pragma mark - 颜色转换 IOS中十六进制颜色转换为UIColor + (UIColor *) colorWithHexString: (NSString *)color { NSString *cString = [[color ...
  • //给UIColor扩展extension UIColor { /// 用十六进制颜色创建UIColor /// /// - Parameter hexColor: 十六进制颜色 (0F0F0F) convenience init(hexColor: String) { // 存储转换后的数值 var red:UInt32 = 0, ...
  • 通过16进制计算颜色  * @abstract  * @discussion  * @param 16机制  * @result 颜色对象  */ + (UIColor *)colorFromHexRGB:(NSString *)inColorString {  UIColor *result = nil;  unsig
  • // 在我们实际工作中,美工给我们的UI图在是表明256位设置的UIColor,而是给我们16进制颜色代码,例如@”#ffffff”等那么,我们该如何将这些颜色代码转换成我们需要的颜色呢?
  • 一个自己做的非常简单的小工具,目的是为了方便苹果移动开发时对16进制数的字符串自动转换为相应的rgb值,以及rgb转换为0xeabdf2这种类型的字符串格式()
1 2 3 4 5 ... 20
收藏数 3,319
精华内容 1,327