有人已经介绍了如何在Swift中调整UIColor的亮度, 但我没有看到一种好的方法来以编程方式"变亮"和"变暗"动态的SwiftUI Colors
。
我正在使用Color(.systemGreen)
创建绿色Text
,我希望它在浅色背景上更暗,在深色背景上更亮。
- 使用
.contrast()
修改器会增加绿色的饱和度,但并不会让它变得更暗。 - 使用负值的
.brightness()
修改器会使它在浅色和深色模式下都变暗,这对于深色模式来说不是很有效,因为它难以阅读。
有人已经介绍了如何在Swift中调整UIColor的亮度, 但我没有看到一种好的方法来以编程方式"变亮"和"变暗"动态的SwiftUI Colors
。
我正在使用Color(.systemGreen)
创建绿色Text
,我希望它在浅色背景上更暗,在深色背景上更亮。
.contrast()
修改器会增加绿色的饱和度,但并不会让它变得更暗。.brightness()
修改器会使它在浅色和深色模式下都变暗,这对于深色模式来说不是很有效,因为它难以阅读。import SwiftUI
struct temp_color: View {
var colorScheme: ColorScheme
var body: some View {
Text("Hello, World!")
.foregroundColor(colorScheme == .light ? Color(.systemGreen) : Color(.systemRed))}
}
struct temp_color_Previews: PreviewProvider {
static var previews: some View {
temp_color(colorScheme: .light)
}
}