Я створив просту підкадру UIButton, яка використовує tintColor
для тексту текст і межі кольорів і, коли виділено, змінює свій фон на tintColor
.
class BorderedButton: UIButton {
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
layer.borderWidth = 1.0
layer.borderColor = tintColor.CGColor
layer.cornerRadius = 5.0
clipsToBounds = true
contentEdgeInsets = UIEdgeInsets(top: 8, left: 8, bottom: 8, right: 8)
setTitleColor(tintColor, forState: .Normal)
setTitleColor(UIColor.whiteColor(), forState: .Highlighted)
setBackgroundImage(UIImage(color: tintColor), forState: .Highlighted)
}
}
Для цього використовується розширення UIImage, яке створює зображення з кольору, я знайшов цей код тут: https://stackoverflow.com/a/33675160
Найкраще він працює, коли встановлено тип "Custom" в "Інтерфейсі", оскільки тип системи за замовчуванням трохи змінює кольори, коли кнопка підсвічується.