It seems SwiftUI ignores the UINavigationBarAppearance settings and doesn't have an API for changing/removing the bottom border indeed. There is also no API for forcing SwiftUI to use UINavigationBarAppearance.
There only solution I found is removing the new iOS 16 API's (.toolbarBackground(..)) and use SwiftUI-Introspect to set the navigation appearance manually:
.introspectNavigationController { controller in
controller.navigationBar.compactAppearance = appearance
controller.navigationBar.standardAppearance = appearance
controller.navigationBar.scrollEdgeAppearance = appearance
controller.navigationBar.compactScrollEdgeAppearance = appearance
}
Topic:
UI Frameworks
SubTopic:
SwiftUI
Tags: