小编Kon*_*ski的帖子

尝试创建UIColor时发送到类的无法识别的选择器

我正在尝试用十六进制颜色代码创建自定义颜色.我有一个名为UIColor + Hex的单独类,它接受一个十六进制字符串并将其转换为颜色代码并重新启动UIColor.

的UIColor + Hex.h

#import <UIKit/UIKit.h>

@interface UIColor (Hex)

+ (UIColor *)colorWithHexString:(NSString *)hex;

@end
Run Code Online (Sandbox Code Playgroud)

的UIColor + Hex.m

#import "UIColor+Hex.h"

@implementation UIColor (Hex)
+ (UIColor *)colorWithHexString:(NSString *)hex
{
    if ([hex length]!=6 && [hex length]!=3)
    {
        return nil;
    }

    NSUInteger digits = [hex length]/3;
    CGFloat maxValue = (digits==1)?15.0:255.0;

    NSUInteger redHex = 0;
    NSUInteger greenHex = 0;
    NSUInteger blueHex = 0;

    sscanf([[hex substringWithRange:NSMakeRange(0, digits)] UTF8String], "%x", &redHex);
    sscanf([[hex substringWithRange:NSMakeRange(digits, digits)] UTF8String], "%x", &greenHex);
    sscanf([[hex substringWithRange:NSMakeRange(2*digits, digits)] UTF8String], "%x", &blueHex);

    CGFloat red …
Run Code Online (Sandbox Code Playgroud)

colors objective-c uicolor ipad

2
推荐指数
1
解决办法
2887
查看次数

标签 统计

colors ×1

ipad ×1

objective-c ×1

uicolor ×1