У вас может быть градиент как кнопка tintColor?

У меня есть иконка актива в конструкторе интерфейсов, который я использую как изображение кнопки. Я могу изменить его цвет, используя

button.tintColor = UIColor.blueColor()

Могу ли я применить градиент к свойству tintColor?

ОБНОВИТЬ

Для ясности, моя иконка png изображения имеет различные формы, сердце, камеру, которые я настроил как шаблоны изображений. Все они имеют прозрачный фон.

1 ответ

Решение

Вы можете вставить CAGradientLayer в вашу кнопку и примените tintColor.

Другой способ - создать подкласс UIButton, а в drawRect использовать CoreGraphics для рисования эффекта градиента, например:

-(void) drawRect:(CGRect)rect
{
    ... 
    // setup up your tint color for startColor, endColor
    drawLinearGradient(context, rect, startColor, endColor);
}

Если у вас есть прозрачный фон, вы можете использовать слои вашего вида mask свойство для достижения градиента.

Другие вопросы по тегам