我设法使用如下所示的修改器渲染全宽/高背景。-
.background {
AsyncImage(
url: url,
transaction: Transaction(animation: .easeIn)
) { phase in
if let image = phase.image {
image
.resizable()
.scaledToFill()
} else if phase.error != nil {
EmptyView()
} else {
ProgressView()
}
}
.containerRelativeFrame([.horizontal, .vertical])
}
但它仍然被导航标题栏剪切。我知道我可以用
navigationBar
隐藏完整的 .navigationBarHidden(true)
,然后自己渲染标题和后退按钮,但是,是否可以保留本机 navigationBar
并在其后面渲染我的背景?
最后
.ignoresSafeArea()
修饰符成功了。