首页 > 解决方案 > UI 元素在 iOS 12 和 13 中具有不同的颜色

问题描述

我的屏幕上有一些 UI(UIButton、UISegmentControl 等),我用逻辑编程为它们设置颜色。但它们的显示方式不同。在 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")! 
}

有什么问题?

标签: swiftios13ios12

解决方案


推荐阅读