zoukankan      html  css  js  c++  java
  • UIColor的封装

    #import <UIKit/UIKit.h>

     

    @interface UIColor (Hex)

     

    // 默认alpha1

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

     

    //从十六进制字符串获取颜色,

    //color:支持@“#123456” @“0X123456” @“123456”三种格式

    + (UIColor *)colorWithHexString:(NSString *)color alpha:(CGFloat)alpha;

     

    @end

     

    --------------------.m----------------

     

    #import "UIColor+Hex.h"

     

    @implementation UIColor (Hex)

     

    + (UIColor *)colorWithHexString:(NSString *)color alpha:(CGFloat)alpha

    {

        //删除字符串中的空格

        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

        //如果是0x开头的,那么截取字符串,字符串从索引为2的位置开始,一直到末尾

        if ([cString hasPrefix:@"0X"])

        {

            cString = [cString substringFromIndex:2];

        }

        //如果是#开头的,那么截取字符串,字符串从索引为1的位置开始,一直到末尾

        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:alpha];

    }

     

    //默认alpha值为1

    + (UIColor *)colorWithHexString:(NSString *)color

    {

        return [self colorWithHexString:color alpha:1.0f];

    }

     

    @end

     

     

  • 相关阅读:
    python 购物车和三级菜单
    python-装饰器
    day3 python 函数
    day3 python 集合 文件
    two day python基础知识
    python-day 1
    Cordova 环境搭建
    javascript在html直接传值
    JavaScript疑难点
    Javascript创建对象的方法
  • 原文地址:https://www.cnblogs.com/liuzhenjie/p/5371145.html
Copyright © 2011-2022 走看看