Я могу легко изменить цвет фона UIToolbar благодаря свойству Bart Tint в Interface Builder. Тем не менее, я хотел бы использовать простой двухцветный вертикальный градиент в качестве фона.Установите простой градиент цвета в качестве фона UIToolbar
Решение должно работать с любой настраиваемой высотой панели инструментов, а моей целью является iOS 7+. Если это необходимо сделать программно, то оба объекта Objective-C и Swift приветствуются.
Редактировать: основываясь на ответах, которые я делаю это в viewDidLoad
, но это не имеет никакого эффекта:
var gradient = CAGradientLayer()
gradient.frame = toolbar.bounds
gradient.colors = [UIColor.redColor(), UIColor.greenColor()]
toolbar.layer.insertSublayer(gradient, atIndex: 0)
Edit 2: основываясь на ответах, я заменил следующую линию, но она до сих пор не дает никакого эффекта:
gradient.colors = [UIColor.redColor().CGColor, UIColor.greenColor().CGColor]
Редактировать 3: Я получил его. Сначала мне нужно было установить «Bar Tint» в «Default» в Interface Builder, чтобы оттенок был прозрачным и не скрывал программно добавленный слой градиента.
Я использую Swift и не могу найти «слой» под «CAGradientLayer», и я не могу найти, что «слой» свойство (я имею в виду в первую строку коды) – cprcrack
Заменил его с ' var gradient = CAGradientLayer() '. Компилирует, но все равно не работает. – cprcrack
Нет, но он компилируется, так что это не проблема. В любом случае я попытался импортировать его на всякий случай, и результат будет таким же. – cprcrack