Ios 如何在条件视图中平滑过渡?
嗨,我正在为iPad和iPhone做一个应用程序,所以我有条件检测屏幕大小。常规o.compact然后我在iPhone或.compact视图上显示iPad导航视图或选项卡视图。 导入快捷键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")
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上(加上大小和最大大小)更改为横向或纵向时,视图的更改不是平滑的,我尝试了很多方法来设置过渡动画,但我没有找到方法
有什么想法或建议吗?你会提供最小的可复制示例吗?抱歉,我更新了任务你会提供最小的可复制示例吗?抱歉,我更新了任务