SwiftUI:如何为iPad上的主视图(由NavigationLink创建)的外观设置动画?

时间:2020-04-25 14:48:06

标签: ios swiftui uisplitviewcontroller

启动后,我的应用程序(菜单)的“母版”页面默认为隐藏。

启动时的屏幕: 

Hidden

从左边缘向右滑动后的屏幕:

Revealed

我希望该应用程序继续以相同的方式启动,但是启动后,我想要一个动画,该动画从左边缘引入该主列表。

当我查看当前的默认行为时,我看到有一些错误,解决方法,甚至向“信号”中引入了一个后退按钮,以指示左侧主列表存在并且可以通过点击来访问后退按钮。

我可以制作动画吗?

为了您的阅读乐趣:

SwiftUI Navigation on iPad - How to show master list

此解决方案创建了一个通往UIKit的桥梁,并提出了在App Store审核过程中被拒绝的建议:

Collapse a doubleColumn NavigationView detail in SwiftUI like with collapsed on UISplitViewController?

这是我的顶级代码:

struct MainLaunchView: View {
    var body: some View {
        NavigationView {
            VStack {
                Spacer()
                NavigationLink(destination: LibraryOverView().modifier(SystemServices())) {
                    Text("Library of PDFs")
                        .foregroundColor(.purple)
                }
                Spacer()
                NavigationLink(destination: DocumentReviewPresentationList()) {
                    Text("Reviews and Summaries")
                        .foregroundColor(.orange)
                }
                Spacer()
                NavigationLink(destination: CategoryHome()) {
                     Text("Front Pages")
                         .foregroundColor(.blue)
                 }
                Spacer()
            }
        .navigationViewStyle(StackNavigationViewStyle())
            .navigationBarTitle(Text("Biblioteka"), displayMode: .inline)
        }
    }
}

LibraryOverView中的以下代码将导致创建拆分视图控制器:

   var body: some View {
         List(self.modelData.modelData) { pdfSummary in
                NavigationLink(destination: InterfaceController(url: pdfSummary.dynamicURL()!, summary: pdfSummary)) {
                    Text(pdfSummary.name)
                        .foregroundColor(self.itemColor(pdfSummary: pdfSummary))
                }
            } 
    }

0 个答案:

没有答案