Ответ 1
Вы должны указать значения от 0 до 1.0. Разделите значения RGB на 255.
Измените свой код на
var red = UIColor(red: 100.0/255.0, green: 130.0/255.0, blue: 230.0/255.0, alpha: 1.0)
self.layer.borderColor = red.CGColor
Я пытаюсь создать пользовательский RGB
CGColor
, используя swift
для использования в качестве цвета рамки для UIButton
. Я пробовал следующий код, но цвет не виден:
var red = UIColor(red: 100.0, green: 130.0, blue: 230.0, alpha: 1.0)
self.layer.borderColor = red.CGColor
Есть ли способ создать CGColor
непосредственно из значений RGB?
Вы должны указать значения от 0 до 1.0. Разделите значения RGB на 255.
Измените свой код на
var red = UIColor(red: 100.0/255.0, green: 130.0/255.0, blue: 230.0/255.0, alpha: 1.0)
self.layer.borderColor = red.CGColor
В Mac OS X есть CGColorCreateGenericRGB()
, но он не существует в iOS. Однако вы можете использовать CGColorCreate
с соответствующими параметрами.
self.layer.borderColor = CGColorCreate(CGColorSpaceCreateDeviceRGB(), [1.0, 0.5, 0.5, 1.0])
Значения в массиве, в порядке появления: красный, зеленый, синий и альфа. Также как UIColor
:)
UImage *newImage = [self imageWithColor:[UIColor colorWithRed:200/255. green:228/255. blue:194/255. alpha:0.99]];
Вы можете получить это до одной строки в Swift 3:
avLayer.backgroundColor = UIColor.red.CGColor
Возможно, вам нужно установить borderWidth
, по умолчанию это 0, поэтому он не отображается:
self.layer.borderWidth = 1.0
На всякий случай вы можете установить cornerRadius
, если вам нужно округлить... может быть полезно; -)
self.layer.cornerRadius = 4.0