#颜色 ios 转十六进制_ios 随机生成十六进制颜色 - CSDN
  • 首先,对String 进行一次扩展: extension String { subscript (r: Range<Int>) -> String { ... let startIndex = self.index(self.startIndex, offsetBy: r.lowerBound) ... ...

    首先,对String 进行一次扩展:

    extension  String {
    
        subscript (r: Range<Int>) -> String {
    
            get {
    
                let startIndex = self.index(self.startIndex, offsetBy: r.lowerBound)
    
                let endIndex = self.index(self.startIndex, offsetBy: r.upperBound)
    
                return String(self[startIndex..<endIndex])
            }
        }
    }
    

    然后对UIcolor 进行扩展

    extension  UIColor{
    
        static func ColorWithHexString(hex:String) -> UIColor {
    
            /*let redStr = hex[1..<3]
    
            let greenStr = hex[3..<5]
    
            let blueStr = hex[5..<7]*/
    
            // 存储转换后的数值
    
            var red:UInt32 = 0, green:UInt32 = 0, blue:UInt32 = 0
    
            // 分别转换进行转换
    
            Scanner(string: hex[1..<3]).scanHexInt32(&red)
    
            Scanner(string: hex[3..<5]).scanHexInt32(&green)
    
            Scanner(string: hex[5..<7]).scanHexInt32(&blue)
    
            return self.init(red: CGFloat(red)/255.0, green: CGFloat(green)/255.0, blue: CGFloat(blue)/255.0, alpha: 1.0)
        }
    }
    
    展开全文
  • 字符串十六进制颜色值转换为UIColor: /** 16进制颜色转换为UIColor @param hexColor 16进制字符串(可以以0x开头,可以以#开头,也可以就是6位的16进制) @param opacity 透明度 @return 16进制字符串对应...
    • 字符串十六进制颜色值转换为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];
    展开全文
  • 十六进制转换为十进制的
    -(UIColor *)intStringToColor:(NSString *)colorStrig
    {
        
        NSString *cString = [[colorStrig 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:1.0f];
        
    }


    
    传过来你的十六进制数。返回给你一个UIColor
    
    展开全文
  • 在UIColor的类里面添加类别方法,可直接使用输入十六进制颜色,无需转换+ (UIColor *)colorWithHexString:(NSString *)color { NSString *cString = [[color stringByTrimmingCharactersInSet:[NSCharacterSet ...

    在UIColor的类里面添加类别方法,可直接使用输入十六进制颜色,无需转换

    + (UIColor *)colorWithHexString:(NSString *)color
    {
        NSString *cString = [[color stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] uppercaseString];
    
        // String should be 6 or 8 characters
        if ([cString length] < 6) {
            return [UIColor clearColor];
        }
    
        // 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 clearColor];
    
        // Separate into r, g, b substrings
        NSRange range;
        range.location = 0;
        range.length = 2;
    
        //r
        NSString *rString = [cString substringWithRange:range];
    
        //g
        range.location = 2;
        NSString *gString = [cString substringWithRange:range];
    
        //b
        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:1.0f];
    }
    
    展开全文
  • #import <UIKit/UIKit.h>... * 方法描述:透明度固定为1,以0x开头的十六进制转换 * * @param hexColor 0x开头的十六进制 * @return UIColor(RGB) * */ + (UIColor *)colorWithHex:(long)hexCo...
  • 标签: iOS十六进制转UIColorUIColor 2016-05-17 10:33 4人阅读 评论(0) 收藏 举报  分类:   iOS(6)  版权声明:本文为博主原创文章,未经博主允许不得转载。 平时UI给的颜色...
  • 创建UIColor的分类// UIColor+Addition.h#import <UIKit/UIKit.h>@interface UIColor (Addition)/// 使用 16 进制数字创建颜色,例如 0xFF0000 创建红色 /// /// @param hex 16 进制无符号32位整数 /// /// @return ...
  • iOS开发16进制颜色转10进制RGB颜色
  • IOS十六进制颜色转换为UIColor #pragma mark - 颜色转换 IOS十六进制颜色转换为UIColor + (UIColor *) colorWithHexString: (NSString *)color { NSString *cString = [[color ...
  • +(UIColor *) hexStringToColor: (NSString *) stringToConvert {  NSString *cString = ...[[stringToConvert stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] uppe
  • 在做iOS开发的时候,会给控件添加颜色,一般都是RGB色值。如下self.view.backgroundColor = ...美工大多数给的颜色往往都是十六进制颜色。如:#784679这样 ,也会有 0Xe5e589 这样的,当然有时候美工也会给色值加色块
  • 在美工切图的时候,很多美工为了简单方便,在切图的时候直接用十六进制颜色切图,导致开发人员不得不转换进制来填充颜色。为了直接利用十六进制惊醒操作,下贴代码直接进行十六进制颜色转换成RGB颜色:.h文件+ ...
  • 2019独角兽企业重金招聘Python工程师标准>>> ...
  • ios设计中,要进行颜色的RGB设置,不能同于在其他编程中。而是要进行对255.0的相除,即180.0/255.0。这样才能得到正确的颜色值。 [btLabelThree setTextColor:[UIColor colorWithRed:59.0/255.0 green:...
  • 在Android开发中大多数都是用十六进制颜色值,一般的都是使用六位来确定颜色比如: #33C787(无透明度),但在一些特殊背景图的时候需要添加透明度,这就涉及到八位的十六进制来表示有透明度的颜色值了#33FFFFFF,33...
  • “#ffffff”类型的十六进制字符串转换成数字 分段截取计算UIColor的RGB 直接返回颜色 传入字符串后分段截取调用字符串转换Int的方法- (UIColor *)getColor:(NSString *)hexColor { NSString *string = [hexColor ...
  • 在开发中美工进行标注都是十六进制颜色值,很少直接写具体的颜色值,有时出现的具体的颜色值也是已经规定好的十六进制颜色值;十六进制一般以#开头,也有0x开头的,后面的才是真正的颜色值,一般都是6位数字或者...
  • ios扩展16进制颜色

    2018-10-18 09:23:42
    iOS开发一般都是用到RGB颜色,美工给我们作图的时候往往给我们的色值都是十六进制颜色如 #ff0000,如果先把16进制转换为RGB 的10 进制那将是非常麻烦的事,我们可以为 UIColor 添加一个扩展类(UIColor+Ext.swift)...
  • 之前写过一回,但是里面有点错误不耽误用,这次修改了一下!
  • 对UIColor扩展,能通过从十六进制字符串获取颜色,支持@“#123456”、 @“0X123456”、 @“123456”三种格式 UIColor+Hex.h #import #define RGBA_COLOR(R, G, B, A) [UIColor colorWithRed:((R) / 255.0f) ...
1 2 3 4 5 ... 20
收藏数 1,987
精华内容 794
关键字:

#颜色 ios 转十六进制