SwiftUI 如何获取动态颜色?
SwiftUI how to get dynamic color?
我有一个配置文件,我想在那里更改颜色。但在我看来函数 background(bg1Color) 给我错误;
Argument type 'UIColor' does not conform to expected type 'View'
我该如何解决这个问题?
我的配置文件;
import UIKit
import Foundation
// Backgrounds
var bg1Color: UIColor = .black
我的函数代码;
.background(bg1Color) // HERE
.cornerRadius(10)
是Color
不是UIColor
import SwiftUI
var bg1Color : Color = .black
.background
修饰符采用 View
并且与 SwiftUI 的 Color
、UIKit 不同的 UIColor
不符合 View
协议(默认)。
因此您需要从 UIColor
创建一个 Color
,然后将其传递给 .background
修饰符。
.background(Color(bg1Color))
或直接:
.background(Color(.black))
非常重要的注意事项!
UIColor
和 Color
预定义命名颜色 不一样!而且它们有不同的色调!
所以你应该 不 只需将 UIColor
替换为 Color
。
实际上 SwiftIUI.Color.red
等于 UIKit.UIClor.systemRed
我有一个配置文件,我想在那里更改颜色。但在我看来函数 background(bg1Color) 给我错误;
Argument type 'UIColor' does not conform to expected type 'View'
我该如何解决这个问题?
我的配置文件;
import UIKit
import Foundation
// Backgrounds
var bg1Color: UIColor = .black
我的函数代码;
.background(bg1Color) // HERE
.cornerRadius(10)
是Color
不是UIColor
import SwiftUI
var bg1Color : Color = .black
.background
修饰符采用 View
并且与 SwiftUI 的 Color
、UIKit 不同的 UIColor
不符合 View
协议(默认)。
因此您需要从 UIColor
创建一个 Color
,然后将其传递给 .background
修饰符。
.background(Color(bg1Color))
或直接:
.background(Color(.black))
非常重要的注意事项!
UIColor
和 Color
预定义命名颜色 不一样!而且它们有不同的色调!
所以你应该 不 只需将 UIColor
替换为 Color
。
实际上 SwiftIUI.Color.red
等于 UIKit.UIClor.systemRed