我想使用 swift color 創建一個主題集合,但我不知道我在哪里弄錯了。因為這個拋出錯誤。我認為根據下面的代碼很明顯,但我是 SwiftUI 的新手!
謝謝你。
Import SwiftUI
enum Colors {
enum Content {
static var contentStrongestColor: Color {
return color(
dark: UIColor(red: 0.21568627655506134, green: 0.2549019753932953, blue: 0.3176470696926117, alpha: 1),
light: UIColor(red: 0.8784313797950745, green: 0.8784313797950745, blue: 0.8784313797950745, alpha: 1)
)
}
}
enum Background {
static var contentDefaultColor: Color {
return color(
dark: UIColor(red: 0.06666667014360428, green: 0.09019608050584793, blue: 0.15294118225574493, alpha: 1),
light: UIColor(red: 1, green: 1, blue: 1, alpha: 1)
)
}
}
}
extension Colors {
static func colorColor(dark: Color, light: Color) -> Color{
return Color { (UITraitCollection: UITraitCollection)
switch UITraitCollection.userInterfaceStyle {
case .dark: return dark
case .light: return light
default: return light
}
}
}
}

uj5u.com熱心網友回復:
有一些代碼錯誤。
- 您已經創建了一個具有名稱的函式,
colorColor但您被稱為顏色 - 用錯了
traitCollection
這是固定代碼。
enum Colors {
enum Content {
static var contentStrongestColor: Color {
return setColor(
dark: Color(red: 0.21568627655506134, green: 0.2549019753932953, blue: 0.3176470696926117),
light: Color(red: 0.8784313797950745, green: 0.8784313797950745, blue: 0.8784313797950745)
)
}
}
enum Background {
static var contentDefaultColor: Color {
return setColor(
dark: Color(red: 0.06666667014360428, green: 0.09019608050584793, blue: 0.15294118225574493),
light: Color(red: 1, green: 1, blue: 1)
)
}
}
}
extension Colors {
static func setColor(dark: Color, light: Color) -> Color {
switch UIScreen.main.traitCollection.userInterfaceStyle {
case .dark: return dark
case .light: return light
default: return light
}
}
}
uj5u.com熱心網友回復:
如果您的目的是為淺色主題使用一種顏色,為深色主題使用另一種顏色,Xcode 有一種更簡單的方法來做到這一點。按著這些次序:
- 轉到“資產”檔案(Xcode 左側的列,在專案導航器中)
- 右鍵單擊資產串列(您看到“AccentColor”的列)并選擇“New Color Set”
- 在串列中選擇名為“Color”的新專案(如果需要,您可以更改名稱,例如“NameOfTheColorCreated”)并在螢屏右側的 Inspector 列中打開屬性。
- 您可以在“任何外觀”框上為淺色主題選擇顏色,在“深色”框上選擇不同的顏色
- 在您的代碼中,您可以按如下方式使用它們:
let myColor = Color(UIColor(named: "NameOfTheColorCreated") ?? .white)
使用時myColor,如果改變外觀顏色會自動改變。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/444105.html
