NEW: Start my new Ultimate Portfolio App course with a free Hacking with Swift+ trial! >>

Navigation in IPad SplitView in iOS 14.5 beta is completely broken

Forums > SwiftUI

I have tested 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 then the app is returned to full size.

The issues include:

-missing back-button in navigationBar.

-the views change place. Views that were 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

-Drag another app alongside the sample app 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.

import SwiftUI

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")
            })
        }
    }
}

   

Does this issue happen on existing apps on the iPad?

   

Yes. As soon as the iPad is updated to iPadOS 14.5 Beta 3. I have a published app made with SwiftUI and it behaves exactly as my sample app here. And actually there are even more glitches there.

Not funny.

   

Same here! Issues such as navigationLinks remaining highligted are also present on iPhone. Still not fixed on 14.5 Beta 4. Were you able to fix these issues?

   

No. To my understanding this is not something that developers can fix, only Apple can.

And yesterday I installed 14.5 Beta 4. All the issues still remain.

   

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 a feedback to Apple. They have introduced an undocumented change to navigationsystem in SwiftUI and it's really bad for exsisting apps.

   

Hacking with Swift is sponsored by Instabug

SPONSORED Catch bugs as soon as they happen and know exactly why a crash occurred. Instabug's SDK grabs all the logs they need to fix bugs, crashes and performance issues in minutes instead of days. Get screenshots, device details, network logs, repro steps, and tons of other critical insights needed to resolve issues and prioritize product backlogs straight from your dashboard. It only takes a minute to integrate!

Get started now

Sponsor Hacking with Swift and reach the world's largest Swift community!

Reply to this topic…

You need to create an account or log in to reply.

All interactions here are governed by our code of conduct.

 
Unknown user

You are not logged in

Log in or create account
 

Link copied to your pasteboard.