애플에서 일반적으로 자주쓰는 Hex RGB 가 아니라, 각 RGB,A값을 0 에서 1.0 으로 설정하는 RGB 설정 메서드를 제공하므로 hex RGB 는 직접 관련 메서드를 만들어 사용해야 한다.
- (UIColor *) myRGBfromHex: (NSString *) code {
NSString *str = [[code stringByTrimmingCharactersInSet:[NSCharacterSetwhitespaceAndNewlineCharacterSet]] uppercaseString];
if ([str length] < 6) // 일단 6자 이하면 말이 안되니까 검은색을 리턴해주자.
return [UIColor blackColor];
// 0x로 시작하면 0x를 지워준다.
if ([str hasPrefix:@"0X"])
str = [str substringFromIndex:2];
// #으로 시작해도 #을 지워준다.
if ([str hasPrefix:@"#"])
str = [str substringFromIndex:1];
if ([str length] != 6) //그랫는데도 6자 이하면 이것도 이상하니 그냥 검은색을 리턴해주자.
return [UIColor blackColor];
NSRange range;
range.location = 0;
range.length = 2;
NSString *rcolorString = [str substringWithRange:range];
range.location = 2;
NSString *gcolorString = [str substringWithRange:range];
range.location = 4;
NSString *bcolorString = [str substringWithRange:range];
unsigned int red, green, blue;
[[NSScanner scannerWithString: rcolorString] scanHexInt:&red];
[[NSScanner scannerWithString: gcolorString] scanHexInt:&green];
[[NSScanner scannerWithString: bcolorString] scanHexInt:&blue];
return [UIColor colorWithRed:((float) red / 255.0f)
green:((float) green / 255.0f)
blue:((float) blue / 255.0f)
alpha:1.0f];
}
'iOS' 카테고리의 다른 글
[UIBarButtonItem] UIBarButtonItem 이미지로 표현하기 (0) | 2012.09.04 |
---|---|
[iOS] RGB Color UIColor Category Extension (1) | 2012.09.04 |
How to Customize UITabBar on iOS 5 (0) | 2012.09.04 |
[iOS] UIImage 이미지 비율에 맞춰 스케일 재조정하기 (0) | 2012.09.03 |
iOS5 Customizing Navigation Bar (네비게이션바 커스터마이징) (0) | 2012.09.03 |