SwiftUi如何获得动态色彩?

时间:2019-12-29 10:54:34

标签: swift colors swiftui xcode11 swift5

我有配置文件,我想在那里更改颜色。但是在我看来,background(bg1Color)给了我错误;

  

参数类型'UIColor'与预期的类型'视图'

我该如何解决?

我的配置文件;

import UIKit
import Foundation

// Backgrounds
var bg1Color : UIColor = .black

我的功能代码;

   .background(bg1Color) // HERE
   .cornerRadius(10)

2 个答案:

答案 0 :(得分:1)

Color而不是UIColor

 import SwiftUI

 var bg1Color : Color = .black

答案 1 :(得分:1)

.background修饰符采用View,与 SwiftUI Color不同, UIKit UIColor是(默认情况下)不符合View协议。

因此,您需要从Color创建一个UIColor,然后将其传递给.background修饰符。

.background(Color(bg1Color))

或直接:

.background(Color(.black))

非常重要的提示!

UIColorColor不一样!而且它们有不同的阴影!

Example

因此,您应该不要仅将UIColor替换为Color