У меня есть несколько интерфейсов на экранах (UIButton, UISegmentControl et c). Я устанавливаю цвет для них программно с помощью logi c. Но они отображаются по-разному. На IOS 12 у меня по умолчанию синий цвет, на iOS 13 все работает нормально.
Это я использую для изменения цвета для управления сегментами:
func changeTitleTextColor(normalColor: UIColor, selectedColor: UIColor) {
let normalTextColor = [NSAttributedString.Key.foregroundColor: normalColor]
let selectedTextColor = [NSAttributedString.Key.foregroundColor: selectedColor]
self.setTitleTextAttributes(normalTextColor, for: .normal)
self.setTitleTextAttributes(selectedTextColor, for: .selected)
}
Для UIButton я просто использую:
func customizeBy(checked: Bool) {
backgroundColor = checked ? Colors.MattGreen : .white
tintColor = checked ? .white : .clear
borderColor = checked ? .clear : Colors.PlaceholderColor
}
Цвета это моя пользовательская структура, которая возвращает UIColor:
struct Colors {
static let MattBlack = UIColor(named: "MattBlack")!
}
Что может быть не так?