func splitViewController(_ svc: UISplitViewController, willChangeTo displayMode: UISplitViewController.DisplayMode) {
svc.presentsWithGesture = displayMode != .oneBesideSecondary
}
在SwiftUI中,这个解决方案可行 - 在iOS 16上测试过!
extension UISplitViewController {
open override func viewDidLoad() {
preferredDisplayMode = UISplitViewController.DisplayMode.oneBesideSecondary
// remove sidebar button, make sidebar always appear !
presentsWithGesture = displayMode != .oneBesideSecondary
}
}
NavigationSplitView
的底层视图从UISplitViewController
更改为其他内容(例如新的仅限于Swift版本),则将来可能会变得脆弱。 - Paolo
self.navigationItem
进行操作,但无法隐藏按钮。 - matt