思い立ったが吉日!

iOSが好きです。

UIColorのカテゴリ

以前にUIColorのカテゴリを書いた際に、Hex文字列をUIColorで返すカテゴリを作っていたが、Alphaを16進数ではなく%で送りたい場合のほうが多い気がしたので最近ではこちらを使っている。

Alphaだけ%指定
+ (UIColor*)colorWithHex:(uint32_t)hex alpha:(float)alpha
{
    CGFloat red = ((hex & 0xff0000) >> 16) / 255.0f;
    CGFloat green = ((hex & 0x00ff00) >> 8) / 255.0f;
    CGFloat blue = ((hex & 0x0000ff)) / 255.0f;
    CGFloat pAlpha = alpha / 100.0f;
    return [UIColor colorWithRed:red green:green blue:blue alpha:pAlpha];
}

+ (UIColor*)colorWithHexString:(NSString*)string alpha:(float)alpha
{
    uint32_t hex = 0x0;
    NSScanner *scanner = [NSScanner scannerWithString:string];

    [scanner scanHexInt:&hex];

    return [UIColor colorWithHex:hex alpha:alpha];
}