萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> ios >> IOS中十六進制的顏色轉換為UIColor

IOS中十六進制的顏色轉換為UIColor

   可用類別寫一個 方便使用

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

  {

  NSString *cString = [[colorstringByTrimmingCharactersInSet:[NSCharacterSetwhitespaceAndNewlineCharacterSet]] uppercaseString];

  // String should be 6 or 8 characters

  if ([cString length] <6) {

  return [UIColorclearColor];

  }

  // strip 0X if it appears

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

  cString = [cStringsubstringFromIndex:2];

  if ([cString hasPrefix:@"#"])

  cString = [cStringsubstringFromIndex:1];

  if ([cString length] !=6)

  return [UIColorclearColor];

  // 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;

  [[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];

  }

copyright © 萬盛學電腦網 all rights reserved