如何在 SwiftUI 中将视图的背景设置为灰色?

Posted

技术标签:

【中文标题】如何在 SwiftUI 中将视图的背景设置为灰色?【英文标题】:How do I set a view's background to the gray'ish one in SwiftUI? 【发布时间】:2020-11-30 13:44:10 【问题描述】:

我注意到,每当我创建视图时,它都会自动获得白色背景色。但是,如果您插入一个列表,无论大小如何,整个视图似乎都会得到一种灰色背景,这对我来说看起来比白色背景更好。我想知道如何让我的背景看起来像这样(可能不使用列表或不可见的虚拟列表)?我已经尝试过获取颜色代码,但这只是给我一个深灰色的背景。我尝试调整不透明度,但它与原生不一样。

编辑:看起来列表的大小确实很重要,它似乎与 NavigationViews 和 NavigationLinks 有关

【问题讨论】:

你会显示代码到哪个视图设置这样的背景吗? 【参考方案1】:

这是默认的组表视图背景颜色 (systemGroupedBackground),颜色代码为 #F2F2F7。您可以像这样将其用作背景颜色:

.background(Color(red: 0.949, green: 0.949, blue: 0.97, opacity: 1.0))

...或者简单地说:

.background(Color(.systemGroupedBackground))

请记住,使用后一种解决方案,如果 Apple 决定更改常量的值,颜色可能会在以后的 ios 版本中发生变化。

【讨论】:

之前尝试过,但我使用了错误的颜色代码。这些工作,谢谢!仍然很好奇为什么以及何时生成。 自 iOS 7 以来,它是 iOS 中默认的组表视图背景颜色。 正是我想要的!谢谢!

以上是关于如何在 SwiftUI 中将视图的背景设置为灰色?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Swift UI 中删除 Picker 视图的灰色背景框

SwiftUI Textfield - 如何在编辑模式下设置文本字段的背景颜色以清除

如何在 SwiftUI 中将我的环境对象设置为用户输入?

SwiftUI 如何临时为视图颜色的前景颜色设置动画?

更新 SwiftUI 导航栏标题

AppKit 上的 SwiftUI - 在弹出窗口中将焦点设置为 TextField