'UIColor'에 해당되는 글 1건

  1. 2012.09.04 [UIColor] RGB 값 사용하기 (RGB hexadecimal code사용)
iOS2012. 9. 4. 11:30

iPhone 앱에서 RGB 값 사용하기

애플에서 일반적으로 자주쓰는 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];

}

Posted by 다오나무