Tag: 平面设计

iOS-使用自定义颜色扩展UIColor

然后,我将打开一个颜色选择器以获取所选颜色的RGB值。 最后,我将打开Xcode并使用这些值创建颜色🙄无聊吗? 这种方法非常令人沮丧,因为每次: 我必须打开Safari并搜索图片 打开拾色器 用RGB值创建颜色并添加255的丑陋除法 我需要的是像Swift 3之前一样的UIColor.redColor()和Swift 3之前的UIColor.red这样简单的东西。 我想出了一个非常简单的解决方案:使用自定义结构扩展UIColor! 让我们跳进去吧! 🙃 第1步-创建一个新的iOS项目 创建一个新项目,这里没有新内容。 选择Swift作为语言,您就完成了。 步骤2 —阅读具有十六进制值的颜色-第1部分 在大多数情况下,指定颜色时,与具有颜色的十六进制值相反,写入RGB值很无聊。 给定十六进制值,任何本机UIColor初始化都不能给出颜色,因此我们必须编写一个。 第一步是从十六进制获取RGB值。 这需要一点点按位操作,如果需要,您可以跳过下一部分,说明我们将如何进行。 a什么是十六进制值? 我们如何使用它并提取有趣的信息? 步骤3(可选)—让我们玩十六进制 例如,在上面的纯色图像中,我最喜欢的是Terra Cotta,其十六进制值为0xE66B5B (请注意,第一个字符为零)。 我们想从此十六进制提取RGB值,但是为此,我们必须掌握并了解什么是十六进制值以及如何生成它。 在底层,十六进制值只是一个整数。 您可以通过打开Playground来快速检查以下内容: 现在,要获取十六进制值的红色部分,我们向右移动,但是有多少位? 🤔 我们看到我们必须摆脱E6右边的4个十六进制值,即蓝色和绿色,即6 , B , 5和B ,每个值编码为4位,共16位。 然后,我们以十六进制形式将其移位16位: 因为我们只想选择最后两个十六进制值(6和B),所以我们将应用以下掩码0xFF: 现在,&运算符将逐步应用: 1&1 = 1 1&0 = 0 0&1 = 0 0&0 = 0 基本上,当我们将遮罩应用于另一个值时,它将选择遮罩中为1的所有内容,并将其他所有内容为0。 如果我们回到所需的位置,则在平移和&操作后,我们最终选择了所需的零件6B […]