如何在Objective-C中通过UIColorFromRGB传递值

Ron*_*Ron 1 objective-c ios

在此代码着色返回值= 0X90EE90

  coloring=[colorall objectForKey:globallinecolor];

     shapeLayer.strokeColor = UIColorFromRGB(coloring).CGColor;
Run Code Online (Sandbox Code Playgroud)

但是这段代码给了我错误,任何人都可以帮助我如何通过UIColorFromRGB传递值.

pre*_*tam 11

创建方法宏,如:

  #define UIColorFromRGB(rgbValue) [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 green:((float)((rgbValue & 0xFF00) >> 8))/255.0 blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.0]
Run Code Online (Sandbox Code Playgroud)

并用作:

 self.backgroundColor = UIColorFromRGB(0X90EE90);
Run Code Online (Sandbox Code Playgroud)

虽然OP问ObjC,但有人可能会来这里寻找Swift:

func UIColorFromHex(rgbValue: UInt) -> UIColor {
    return UIColor(
        red: CGFloat((rgbValue & 0xFF0000) >> 16) / 255.0,
        green: CGFloat((rgbValue & 0x00FF00) >> 8) / 255.0,
        blue: CGFloat(rgbValue & 0x0000FF) / 255.0,
        alpha: CGFloat(1.0)
    )
}
Run Code Online (Sandbox Code Playgroud)

并用作:

let someColor = UIColorFromHex(0x27a9e0)
Run Code Online (Sandbox Code Playgroud)