swift - 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")!
}
有什么问题?
解决方案
推荐阅读
- swift - 如何添加/乘以 USDZ 格式的纹理?
- java - java.lang.IllegalStateException:无法在 org.springframework.beans.factory.support.AbstractBe 处将父 bean 工厂设置为 self
- date - Power BI 日期条件
- javascript - 将年份添加到日期数组
- node.js - 无法在 GitHub 操作中将 Node.js 与 Docker MySQL 数据库连接
- python - 在回调 Dash 中使用 2 个输入动态更新下拉选项
- javascript - 如何使用javascript每x次运行一个脚本?
- javascript - 如何使用 Jest 模拟 DynamoDBDocumentClient 构造函数(AWS SDK V3)
- dax - 创建计算列
- android - 如何在 logcat android studio 中停止此消息