簡體   English   中英

如何在 SWIFTUI 主體視圖中使用聲明的變量

[英]how can I use a declared variable inside SWIFTUI body view

我不能在 body 視圖中使用我聲明的變量。 如果我使用

 .fill(colorWheel["darkOrange"]) 

在 Ellipse 內部,它會中斷,但是如果我更改為.fill(Color.orange) ,這是一種系統顏色,那么它就可以了。

struct ContentView: View {
//our color palette
var colorWheel : [String: Color] = [
    "darkOrange"    : Color.init(hex: "F1615D"),
    "mediumOrange"  : Color.init(hex: "FF8761"),
    "darkYellow"    : Color.init(hex: "FFC575"),
    "lightYellow"   : Color.init(hex: "F1FAC6"),
    "brightAqua"    : Color.init(hex: "79E6E3"),
    "lightAqua"     : Color.init(hex: "a8e6cf"),
    "limeGreen"     : Color.init(hex: "dcedc1"),
    "brightPeach"   : Color.init(hex: "ff8b94"),
    "mediumPeach"   : Color.init(hex: "ffaaa5"),
    "lightPeach"    : Color.init(hex: "ffd3b6"),
]

var body: some View {
    ZStack{
        VStack {
            AnimatedContentView()
            Spacer()

            ZStack {
                Ellipse()
                    .fill(colorWheel["darkOrange"])
                .frame(width: 300, height: 150)

                Text("Glad you are here.\n Animate this")
                    .animation(.spring())
                    .foregroundColor(Color.white)
                    .font(.system(size: 28))
            }
            .rotationEffect(.degrees(-24))

        }
        .foregroundColor(Color.black.opacity(0.7))
        .edgesIgnoringSafeArea(.all)
    } //end zStack
    }
}

嘗試這個。

.fill(self.colorWheel["darkOrange"] ?? Color.green)

如果沒有顏色,則將 Color.green 替換為您想要應用的默認顏色。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM