Navigation in IPad SplitView in iOS 14.5 beta is completely broken

I have tested the iOS 14.5 beta and discovered that there are now serious issues in apps that use two column layout in iPad. The issues can be seen if such an app is first used in splitview mode and the app is returned to full size.

The issues include:
  • missing Back-button in navigationBar.

  • the views change place. Views that originally located in the right column are now moved to sideBar. This looks really weird and really broken.

  • also the navigationLinks remain highlighted when the app is used in the splitview mode.

I have left feedback to Apple with feedback Assistant, but I fear that this is not fixed before the iOS 14.5 release.

You can reproduce the issue with these steps:
  • Create a new app and replace the ContentView with my code block.

  • Open the sample app with any iPad simulator running iOS 14.5 beta 3 in Xcode 12.5 Beta 3

  • Drag another app alongside the sample app and in split view so that the sample app becomes as narrow as possible.

  • Navigate to last view in sample app.

  • Exit the split view mode by making the sample app full window size again

  • Now you see how broken the sample app is. If you use iOS 14.4 simulator, the app has no problems.


Code Block
struct ContentView: View {
    var body: some View {
            NavigationView{
                    View1()
                    Text("Select View")
            }
        .NavigationViewStyle(DoubleColumnNavigationViewStyle())
    }
}
struct View1: View {
    var body: some View {
        List {
            NavigationLink(
                destination: View2(),
                label: {
                    Text("Show View2")
            })
        }
    }
}
struct View2: View {
    var body: some View {
            List {
                NavigationLink(
                    destination: View3(),
                    label: {
                        Text("Navigate to View3")
                })
            }
    }
}
struct View3: View {
    var body: some View {
        List {
            NavigationLink(
                destination: Text("View4"),
                label: {
                    Text("Navigate to View4")
            })
        }
    }
}




Tested on just released 14.5 Beta 4. All the issues still remain.

And remember. This is not a simulator only issue. If you have released SwiftUI iPad-apps that use sidebar, this is a problem for you.
New 14.5 Beta 5 was just released. Issue still remains. Still no response from Apple to my feedback. I just send an email to app support, let's see if I can get a response in that way.

In thew meanwhile, please test my issue and send also feedback to Apple. They have introduced an undocumented change to navigationsystem in SwiftUI and it's really bad for exsisting apps.
There's another issue, where NavigationLink doesn't even work if used in a ScrollView instead of a List. This issue was introduced in 14.5 beta 1 and isn't fixed yet. Console just tells to file a bug and that the view can't be displayed.
I'm also running into this issue with the 14.5 RC/Public release, frustratingly it also seems to affect production apps compiled with the 14.4 SDK running on iPadOS 14.5

The only workarounds I’ve found are embedding the NavigationLinks in a List or Form, though both apply a number of style and behaviour changes to their children which prevents me from using this approach in production.
If you file a feedback/radar feel free to reference mine FB9091466, likewise if you have already done so I'll append yours.

I've uploaded my sample project here for anyone interested https://github.com/tomhut/navvy/blob/master/navvy/ContentView.swift

Yep reported the same issue: FB9092116
Navigation in IPad SplitView in iOS 14.5 beta is completely broken
 
 
Q