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

  coloring=[colorall objectForKey:globallinecolor];

     shapeLayer.strokeColor = UIColorFromRGB(coloring).CGColor;

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

最佳答案

您正在检索NSString对象(着色),但是宏需要一个整数。

要从十六进制字符串获取整数,您可以使用 NSScanner 类。

遵循以下原则:

unsigned int hexValue = 0;
NSScanner *scanner = [NSScanner scannerWithString:coloring];
[scanner setScanLocation:0]; // depends on your exact string format you may have to use location 1
[scanner scanHexInt:&hexValue];

shapeLayer.strokeColor = UIColorFromRGB(hexValue).CGColor;

关于ios - 如何通过Objective-C中的UIColorFromRGB传递值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20972529/

10-10 20:39