微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SwiftUI工作表模式背景无法与edgeIgnoreSafeArea.all-为什么?

如何解决SwiftUI工作表模式背景无法与edgeIgnoreSafeArea.all-为什么?

我正在使用SwiftUI工作表模式运行iOS 13模拟器-尝试绘制工作表背景并忽略安全区域-但仍然显示白色工作表。有关如何正确执行此操作的任何想法?


    var body: some View {
        vstack(alignment: .center,spacing: 0) {

... redacted ...

 }   // vstack
            .background(Color.gray.edgesIgnoringSafeArea(.all))

iPhone Simulator with sheet modal

查看图片(随附)

有什么想法我在做什么错吗?

解决方法

将顶部容器(在您的情况下为VStack)扩展到整个工作表区域,例如

VStack {
    // ... your content
}
.frame(maxWidth: .infinity,maxHeight: .infinity)      // << here !!
.background(Color.gray.edgesIgnoringSafeArea(.all))
,

绘制背景的最佳方法是使用ZStack:

    var body: some View {
        ZStack {
            // replace with the color you want
            Color.green
                .edgesIgnoringSafeArea(.all)
            

            VStack {
                // put view's Content here
            }
        }
    }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。