在 SwiftUI 上更改颜色视图

Posted

技术标签:

【中文标题】在 SwiftUI 上更改颜色视图【英文标题】:Change color view on SwiftUI 【发布时间】:2021-12-13 22:58:48 【问题描述】:

我找不到更改背景颜色视图的解决方案,我尝试了很多选项,但没有任何效果。

我想改变视图的颜色...

这是我的代码结构:

    var body: some View 
    NavigationView 
        VStack 
            VStack(spacing: -15) 
            
            HStack 

                HStack 
                   
                
            )
        
    

【问题讨论】:

欢迎来到 Stack Overflow!请使用tour 并查看:How do I ask a good question? 和How to create a Minimal, Reproducible Example。 那里有大约六个视图,但没有任何实际内容。您要更改哪一个,如果它不包含任何可见的内容,您如何知道它已更改? 看到这个答案:***.com/questions/69667730/… 它可能有助于解决您的模糊问题。 【参考方案1】:

首先,您在上面发布的代码中已经存在错误,您的 XCode 通常应该会告诉您。

您要更改哪种视图..? 这可能是一个解决方案...您可以根据需要进行更改。

struct testViewTwo: View 

    var body: some View 
        NavigationView 
            VStack 
                VStack(spacing: -15) 
                HStack 
                    HStack 
                       Text("Hello World")
                    .background(Color.blue)
                .foregroundColor(Color.white)
            
        .background(Image("Background"))
        
    

【讨论】:

【参考方案2】:

您可以使用背景修饰符更改背景颜色。

如果你想改变整个视图的背景颜色,你应该使用背景修饰符创建一个跨越整个视图的 ZStack。

ZStack  
    ...

.frame(minWidth: 0, maxWidth: .infinity, minHeight: 0, maxHeight: .infinity)
.background(Color(.blue)

【讨论】:

是的,这是我尝试过的解决方案,没有任何改变...... 您介意更新您的问题吗?你到底想达到什么目标,你已经尝试过什么?【参考方案3】:

您可以简单地使用 Color("Green") 来更改颜色。这是一个示例。

var body: some View 
    
    NavigationView
        VStack 
            VStack(spacing: 15)
                 HStack 
                     Color("Green")
                       .edgesIgnoringSafeArea(.top)
                 
            
        
    

【讨论】:

以上是关于在 SwiftUI 上更改颜色视图的主要内容,如果未能解决你的问题,请参考以下文章

SwiftUI 如何根据获取的数据更改视图的背景颜色?

SwiftUI:如何使列表视图透明?如何更改列表视图背景颜色?

SwiftUI - 如何在文本视图中更改自定义 SF 符号的颜色?

更改 SwiftUI 列表视图的背景颜色

如何在 SwiftUI 应用程序生命周期中更改特定视图的状态栏颜色?

更改选项卡式视图 SwiftUI 的凹槽区域背景颜色