Ios 如何在条件视图中平滑过渡?

Ios 如何在条件视图中平滑过渡?,ios,swift,swiftui,ipados,Ios,Swift,Swiftui,Ipados,嗨,我正在为iPad和iPhone做一个应用程序,所以我有条件检测屏幕大小。常规o.compact然后我在iPhone或.compact视图上显示iPad导航视图或选项卡视图。 导入快捷键 struct NavigationViewForiPhone : View{ var body: some View{ TabView{ Text("Hi im on iphone or landscape on iPhone no plus")

嗨,我正在为iPad和iPhone做一个应用程序,所以我有条件检测屏幕大小。常规o.compact然后我在iPhone或.compact视图上显示iPad导航视图或选项卡视图。 导入快捷键

struct NavigationViewForiPhone : View{
    var body: some View{
        TabView{
            Text("Hi im on iphone or landscape on iPhone no plus")
                .tabItem {
                    Image(systemName: "house.fill")
                    Text("Inicio")
            }

            Text("Hi im on iphone or landscape on iphone plus")
                .tabItem {
                    Image(systemName: "house.fill")
                    Text("Second")
            }
        }
          .background(Color.blue)
         .navigationBarTitle("iPhone View")
    }
}

struct NavigationViewForiPad : View{
    var body: some View{
        NavigationView{
            List{
                NavigationLink(destination: Text("Text hi")){
                    HStack{
                        Text("hi im a menu")
                    }
                }
                NavigationLink(destination: Text("Text hi")){
                    HStack{
                        Text("hi im a menu")
                    }
                }
                NavigationLink(destination: Text("Text hi")){
                    HStack{
                        Text("hi im a menu")
                    }
                }
                NavigationLink(destination: Text("Text hi")){
                    HStack{
                        Text("hi im a menu")
                    }
                }

                .navigationBarTitle("iPad View")
            }
            VStack{
                Text("Hi im on ipad")
                Text("Hi im on iPad or iPhone plus")
                Text("Hi im on ipad")
            }
            .navigationViewStyle(DoubleColumnNavigationViewStyle())
        }
        .background(Color.red)

    }
}

struct ContentView: View {

    // MARK: -  Detectar el tamaño de la pantalla
    @Environment(\.horizontalSizeClass) var sizeClass


    var body: some View{
        Group{

                // MARK: -  Mostrar navegacion con pestañas en iPhone
                if self.sizeClass == .compact
                {
                    withAnimation(.easeInOut(duration: 1) ){
                        return NavigationViewForiPhone()
                    }

                }
                else
                {
                    withAnimation(.easeInOut(duration: 1) ){
                        return NavigationViewForiPad()
                    }

                }


        }


    }
}


struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}
所以问题是,当在iPhone上(加上大小和最大大小)更改为横向或纵向时,视图的更改不是平滑的,我尝试了很多方法来设置过渡动画,但我没有找到方法


有什么想法或建议吗?

你会提供最小的可复制示例吗?抱歉,我更新了任务你会提供最小的可复制示例吗?抱歉,我更新了任务