Привет, я делаю приложение для iPad и iPhone, поэтому у меня есть условие для определения размера экрана .regular o .compact, а затем я показываю представление навигации iPad или представление табуляции в представлении iPhone или .compact. import SwiftUI
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 (плюс размер и максимальный размер) на альбомный или портретный вид изменения не плавные, я много пытаюсь анимировать переход но я не нахожу пути.
Есть идеи или предложения?