Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/96.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios SwiftUI-使用列表时视图添加到窗口层次结构的计时_Ios_Swift_Swiftui - Fatal编程技术网

Ios SwiftUI-使用列表时视图添加到窗口层次结构的计时

Ios SwiftUI-使用列表时视图添加到窗口层次结构的计时,ios,swift,swiftui,Ios,Swift,Swiftui,我正在为iPhone和iPad创建一个SwiftUI应用程序,它从一个列表开始。每个条目表示用户可以转换到的不同视图。每个视图都可以使用解释,所以我想在用户第一次导航到它们时显示一个。我试图用全屏来显示这个“简介视图” 但当全屏封面试图显示时,我得到了以下信息,因此介绍视图从未显示: 2020-10-22 09:55:05.587361-0700 test[81095:3217286] [Presentation] Attempt to present <_TtGC7SwiftUI22Sh

我正在为iPhone和iPad创建一个SwiftUI应用程序,它从一个列表开始。每个条目表示用户可以转换到的不同视图。每个视图都可以使用解释,所以我想在用户第一次导航到它们时显示一个。我试图用
全屏
来显示这个“简介视图”

但当全屏封面试图显示时,我得到了以下信息,因此介绍视图从未显示:

2020-10-22 09:55:05.587361-0700 test[81095:3217286] [Presentation] Attempt to present
<_TtGC7SwiftUI22SheetHostingControllerVS_7AnyView_: 0x7f883e51bcc0> on
<_TtGC7SwiftUI41StyleContextSplitViewNavigationControllerVS_14NoStyleContext_: 0x7f883e819a00> 
(from <_TtGC7SwiftUIP13$7fff562fec9428DestinationHostingControllerVS_7AnyView_: 0x7f883e4169b0>) 
whose view is not in the window hierarchy.

现在有点早,在视图中显示激活全屏,如下所示(使用Xcode 12/iOS 14测试)


现在有点早,在视图中显示激活全屏,如下所示(使用Xcode 12/iOS 14测试)


感谢阿斯佩里;它确实有效。不过我很好奇,为什么原始代码(即没有出现的
onAppear
)不能在iPhone上运行,而在列表中呢?我看到的每一个
全屏封面的例子都让我觉得它应该是这样的。这仅仅是一个新的API不稳定吗?谢谢Asperi;它确实有效。不过我很好奇,为什么原始代码(即没有出现的
onAppear
)不能在iPhone上运行,而在列表中呢?我看到的每一个
全屏封面的例子都让我觉得它应该是这样的。这仅仅是一个新的API不稳定吗?
struct ComplicatedView: View {
    @State private var showingCover = false

    var body: some View {
        DetailsOfComplicatedView()
        .fullScreenCover(isPresented: $showingCover, content: {
            TutorialView()
        })
        .onAppear { self.showingCover = true }
    }
}