2015-10-30 2 views
2

Я хочу установить два разных цвета в UIButton фон. Я знаю, как установить один цвет или границу и т. Д. Но я не знаю, как установить два разных цвета в фоновом режиме. Я показываю пример. Я использую Swift 2Как установить два цвета в фон UIButton

enter image description here

+0

Возможно, вам будет нужно использовать изображение в качестве фона. Я очень сомневаюсь, что есть способ установить несколько цветов бок о бок, как это. – Natasha

ответ

5

Вы можете использовать градиент с 2 пары повторяющихся цветов:

let gradient: CAGradientLayer = CAGradientLayer() 
gradient.frame = button.bounds 
gradient.colors = [ 
    UIColor.greenColor().CGColor, 
    UIColor.greenColor().CGColor, 
    UIColor.blackColor().CGColor, 
    UIColor.blackColor().CGColor 
] 

/* repeat the central location to have solid colors */ 
gradient.locations = [0, 0.5, 0.5, 1.0] 

/* make it horizontal */ 
gradient.startPoint = CGPointMake(0, 0.5) 
gradient.endPoint = CGPointMake(1, 0.5) 

button.layer.insertSublayer(gradient, atIndex: 0) 

Вы можете изменить ориентация, играющая с начальными/конечными точками:

gradient.startPoint = CGPointMake(0, 0) 
gradient.endPoint = CGPointMake(1, 1) 

enter image description here

2

Вы можете использовать CAGradientLayer, чтобы сделать его

let layer : CAGradientLayer = CAGradientLayer() 
layer.frame.size = button.frame.size 
layer.startPoint = CGPointZero 
layer.endPoint = CGPointMake(1, 0) 

let colorGreen = UIColor.greenColor().CGColor 
let colorBlack = UIColor.blackColor().CGColor 

layer.colors = [colorGreen, colorGreen, colorBlack, colorBlack] 
layer.locations = [0.0, 0.5, 0.5, 1.0] 

button.layer.insertSublayer(layer, atIndex: 0) 
Смежные вопросы