有没有办法可以指定用于在 SwiftUI 中显示工作表的 View 的背景颜色?我知道我可以在我的 View 上设置 .background
,但在 iPhone X 上这不会影响安全区域。我还可以使用 .edgesIgnoringSafeArea 来填充该区域,但我不想弄乱它。
最佳答案
最后你需要处理 edgesIgnoringSafeArea
因为你需要超出安全区域(你必须在 UIKit 中做同样的事情)。重要的是,您只忽略背景的安全区域。因此,就 SwiftUI 而言,您只需将 edgesIgnoringSafeArea
应用于传递给 background
的 View :
struct ContentView: View {
var body: some View {
VStack {
Text("hey there")
Text("Another line")
}.background(Color.blue.edgesIgnoringSafeArea(.all))
}
}
但是,这要求您使用 background
的 View 已经请求所有可用空间(上面的示例代码中的情况并非如此),因为背景仅绘制 View 的背景并且不会自行填满屏幕。如果您不是这种情况,您需要使用例如ZStack
如 your answer 所示.
关于SwiftUI:设置工作表呈现 View 的背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57300262/