【发布时间】:2015-02-10 09:00:10
【问题描述】:
我有这个函数可以在 hexString 中转换颜色:
public extension NSColor {
func getHexString() -> String {
let red = Int(round(self.redComponent * 0xFF))
let green = Int(round(self.greenComponent * 0xFF))
let blue = Int(round(self.blueComponent * 0xFF))
let hexValue = NSString(format: "#%02X%02X%02X", red, green, blue)
return hexValue
}
}
现在,我不知道如何扭转这种情况。 我只有这个objective-c代码,但我无法将它转换为swift。
(NSColor*)colorWithHexColorString:(NSString*)inColorString
{
NSColor* result = nil;
unsigned colorCode = 0;
unsigned char redByte, greenByte, blueByte;
if (nil != inColorString)
{
NSScanner* scanner = [NSScanner scannerWithString:inColorString];
(void) [scanner scanHexInt:&colorCode];
}
redByte = (unsigned char)(colorCode >> 16);
greenByte = (unsigned char)(colorCode >> 8);
blueByte = (unsigned char)(colorCode);
result = [NSColor
colorWithCalibratedRed:(CGFloat)redByte
green:(CGFloat)greenByte
blue:(CGFloat)blueByte
alpha:1.0];
return result;
}
【问题讨论】: