Подтвердить что ты не робот

Как я могу получить cgcolor из значений RGB?

Я пытаюсь создать пользовательский 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?

4b9b3361

Ответ 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

Ответ 2

В Mac OS X есть CGColorCreateGenericRGB(), но он не существует в iOS. Однако вы можете использовать CGColorCreate с соответствующими параметрами.

self.layer.borderColor = CGColorCreate(CGColorSpaceCreateDeviceRGB(), [1.0, 0.5, 0.5, 1.0])

Значения в массиве, в порядке появления: красный, зеленый, синий и альфа. Также как UIColor:)

https://developer.apple.com/library/ios/documentation/GraphicsImaging/Reference/CGColor/#//apple_ref/c/func/CGColorCreate

Ответ 3

UImage *newImage = [self imageWithColor:[UIColor colorWithRed:200/255. green:228/255. blue:194/255. alpha:0.99]];

Ответ 4

Вы можете получить это до одной строки в Swift 3:

avLayer.backgroundColor = UIColor.red.CGColor

Ответ 5

Возможно, вам нужно установить borderWidth, по умолчанию это 0, поэтому он не отображается:

self.layer.borderWidth = 1.0

На всякий случай вы можете установить cornerRadius, если вам нужно округлить... может быть полезно; -)

self.layer.cornerRadius = 4.0