美文网首页
ios 十六进制的颜色转换为UIColor

ios 十六进制的颜色转换为UIColor

作者: 帝步凡 | 来源:发表于2018-08-17 11:10 被阅读0次
    • (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];
      }

    相关文章

      网友评论

          本文标题:ios 十六进制的颜色转换为UIColor

          本文链接:https://www.haomeiwen.com/subject/zrezbftx.html