In iOS 26, the UISplitViewController primary or detail ViewController is displayed in modal mode, which is not correct. How to remove it?
Code for my UISplitViewController subclass:
override func viewDidLoad() {
super.viewDidLoad()
}
override var preferredStatusBarStyle: UIStatusBarStyle {
get {
.darkContent
}
}
override var preferredDisplayMode: UISplitViewController.DisplayMode {
get {
.oneBesideSecondary
}
set {
}
}
override var presentsWithGesture: Bool {
get {
false
}
set {
}
}
Use the UISplitViewController primaryBackgroundStyle and set it to .none to get back the same look as iOS 18. But note that this setting is not honored in iOS 26.0. It has been fixed in iOS 26.1.
The best you can do for iOS 26.0 is to ensure that everything in the supplementary and detail columns makes proper use of constraints by using the safeAreaLayoutGuide.leadingAnchor. This will at least keep the content from showing under the primary column. But there's nothing you can do about nav bars and toolbars from extending behind the primary column.