首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iOS 15、Xcode13中未显示EmptyView

iOS 15、Xcode13中未显示EmptyView
EN

Stack Overflow用户
提问于 2021-09-28 01:43:26
回答 2查看 250关注 0票数 0

我有很严重的问题。我的Xcode版本是13,iOS版本是15。

代码语言:javascript
复制
import SwiftUI

struct ContentView: View {
  @State var isGo: Bool = false

  var body: some View {
    ZStack {
      Button(action: {
        self.isGo = true
      }, label: {
        Text("Go EmptyView")
      })

      EmptyView()
        .background(Color.green)
        .frame(width: 100, height: 100)
        .sheet(isPresented: $isGo, onDismiss: nil, content: {
          PopupView()
        })
    }
  }
}

struct PopupView: View {
    var body: some View {
        Rectangle()
            .fill(Color.green)
    }
}

上面的代码不起作用。但是,以前的Xcode版本或以前的iOS版本是代码正在工作。这是iOS的bug吗?有什么解决方案吗?

EN

回答 2

Stack Overflow用户

发布于 2021-09-28 05:54:32

你已经很接近了,不知道为什么没有人提供帮助。您的代码确实可以工作,但理论上是不正确的,您需要将调用.sheet的位置移到ZStack之外,它才能工作。但这里有一个更好的方法,没有所有无用的代码。

代码语言:javascript
复制
struct ContentView: View {
    @State var showemptyview: Bool = false
    
    var body: some View {
        Button("Go EmptyView") {
            showemptyview.toggle()
        }
        .sheet(isPresented: $showemptyview) {
            EmptyView()
                .background(Color.green)
        }
    }
}

票数 0
EN

Stack Overflow用户

发布于 2021-09-30 10:09:12

最后,在最后一个版本中,您可以直接使用几个工作表作为主视图,并且它可以工作。您不需要使用sheet创建单独的EmptyView()

代码语言:javascript
复制
YourMainView()
  .sheet(item: $viewModel) { item in
    // some logic here 
  }
  .sheet(isPresented: $onther_viewModel.showView, content: {
    SomeAnotherView(viewModel: viewModel.getVM())
  })
  .sheet(isPresented: $onther_viewModel2.showView, content: {
    SomeView(viewModel: viewModel.getVM())
  })
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69354864

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档