草庐IT

ios - 如何访问 UIColor 的 RGB 值?

这个问题在这里已经有了答案:HowtogetRGBvaluesfromUIColor?(16个答案)ExtractRGBValuesFromUIColor(4个答案)关闭6年前。我有一个带有按钮的iOS绘图应用程序,用户可以通过这些按钮选择用于绘图的颜色。由于我的画笔使用RGB值,但我的颜色常量是UIColors,所以我需要转换。我试过了privatevarcurrentButton:UIButton?{willSet{currentButton?.layer.borderWidth=0}didSet{currentButton?.layer.borderWidth=2letindex

swift - [UIColor colorWithWhite :alpha] 的 Swift 等价物是什么

这在Objective-C中返回默认的iOS禁用灰色:[UIColorcolorWithWhite:0.70alpha:1];似乎没有任何原生Swift函数:UIColor.colorWithWhite(0.70,alpha:1)我想知道UIColor在Swift中是否有其他我不知道的实现方法?我似乎无法在文档中找到任何内容。如果不是,那么适合此方法的extension是什么? 最佳答案 在Swift中,一切都与可读性有关,并且现在放弃了Objective-C中已知的大多数静态方法调用。[UIColorcolorWithWhite:

ios - CIColor 到 UIColor -> CIColor 没有为 UIColor UIExtendedSRGBColorSpace 定义

我正在尝试从rgb-hex色彩空间实现CIColor,如下所示:letbottomColor=UIColor.init(red:235/255,green:250/255,blue:255/255,alpha:1.0).ciColor但是,我不断遇到以下错误:Terminatingappduetouncaughtexception'NSInvalidArgumentException',reason:'***-CIColornotdefinedfortheUIColorUIExtendedSRGBColorSpace0.9215690.98039211;needtofirstconve

swift - 从 UIColor 获取色调会产生错误的结果

我正在执行以下操作以从UIColor()中检索hue:letrgbColour=UIColor(red:1.0,green:0.0,blue:0.0,alpha:1.0)varhue:CGFloat=0varsaturation:CGFloat=0varbrightness:CGFloat=0varalpha:CGFloat=0rgbColour.getHue(&hue,saturation:&saturation,brightness:&brightness,alpha:&alpha)println("\(hue),\(saturation),\(brightness)")输出:1.

ios - 如何使用 swift 将 UIColor 转换为字符串并将字符串转换为 UIColor?

我有一个带有UIColor属性的对象:classBeer:NSObject{varcolor:UIColor?...}我正在将其保存到数据库中,因此我需要将此属性转换为有效的JSON类型,因此我正在考虑将其转换为字符串。如何转换成字符串进行存储,然后在加载时使用该字符串创建UIColor? 最佳答案 我已经为这两种转换放了一些示例,你仍然可以找到很多转换代码对于从UIColor到十六进制字符串的转换,您可以使用以下代码:extensionUIColor{varrgbComponents:(red:CGFloat,green:CGFl

xcode - 在 Swift 中将 UIColor 转换为十六进制(网络颜色)的最佳/最短方法是什么?

我想出了以下解决方案,但想知道是否有人有更简洁的方法(在Xcode-Playground中测试过):letcolors=CGColorGetComponents(UIColor.greenColor().CGColor)lethexCol:String=NSString(format:"#%02x%02x%02x",Int(colors[0]*255.0),Int(colors[1]*255.0),Int(colors[2]*255.0))导致#00ff00其中UIColor.greenColor()是任何UIColor的示例。编辑:摘自Leonardo的回答,我想稍微重构一下(他的所

ios - 如何在 Swift 中创建一个十六进制颜色字符串 UIColor 初始值设定项?

这个问题在这里已经有了答案:HowcanIcreateaUIColorfromahexstring?(49个答案)关闭7年前。我正在使用此代码从十六进制值创建UIColor。它运行完美。extensionUIColor{convenienceinit(red:Int,green:Int,blue:Int){assert(red>=0&&red=0&&green=0&&blue>16)&0xff,green:(netHex>>8)&0xff,blue:netHex&0xff)}}用法:vartextColor=UIColor(netHex:0xffffff)此代码非常适用于Int十六进制

ios - 如何比较 2 个 UIColor 对象,它们是日志中的 kCGColorSpaceModelRGB 和 UIExtendedSRGBColorSpace 实例?

现在我真的很困惑。下面是变量如何被实例化:Utils.redColor=UIColor(red:CGFloat(red)/255.0,green:CGFloat(green)/255.0,blue:CGFloat(blue)/255.0,alpha:alpha)这里我枚举了一个属性文本的属性,如果它等于Utils.redColor则跳过颜色:text.enumerateAttributes(in:NSRange(0..Voidinfor(attribute,object)inattributes{iflettextColor=objectas?UIColor{NSLog("textCo

ios - UIColor 扩展便利初始化不起作用

convenienceinit(red:Int,green:Int,blue:Int,alpha:CGFloat){varred:CGFloat=CGFloat(red)/255.0vargreen:CGFloat=CGFloat(green)/255.0varblue:CGFloat=CGFloat(blue)/255.0self.init(red:red,green:green,blue:blue,alpha:alpha)}我编写上面的代码是为了提供一种更方便的方式来声明我的自定义uicolor。但不知何故,它通过调用自身直到堆栈溢出使我的应用程序崩溃。这里有什么问题?此外,我刚刚

ios - UIColor - getRed : . .. - 引发异常

我有以下测试代码:CGFloatendRed,endGreen,endBlue,endAlpha;[[UIColorgreenColor]getRed:&endRedgreen:&endGreenblue:&endBluealpha:&endAlpha];我在UIView类的drawRect方法中调用。此代码失败并出现异常2011-11-0602:29:28.671Chartous[13457:b303]-[UICachedDeviceRGBColorgetRed:green:blue:alpha:]:unrecognizedselectorsenttoinstance0x4e7ea1