iOS 14 UISplitViewController删除“隐藏/显示”按钮在iPad上的横向?

bihw5rsg  于 2023-01-14  发布在  iOS
关注(0)|答案(2)|浏览(175)

在iOS 14中,新的分割视图控制器为你处理栏按钮项目。太酷了!所以在纵向我们看到这个:

我们处于纵向模式,因此左上角的按钮会调用Primary列的“覆盖”版本。
在风景画中我们看到:

我们在横向,所以在左上方的按钮隐藏或显示“并排”版本的主要列。
现在我想知道如何单独控制这些按钮的显示,我看到我可以将presentsWithGesture设置为false来隐藏 * 两个 * 按钮,但这不是我想要的,我的问题是:如何隐藏 * 第二个 * 按钮(横向)而不隐藏 * 第一个 * 按钮(纵向)?

yhived7q

yhived7q1#

在拆分视图控制器上设置一个委托,并实现此委托方法:

func splitViewController(_ svc: UISplitViewController, willChangeTo displayMode: UISplitViewController.DisplayMode) {
    svc.presentsWithGesture = displayMode != .oneBesideSecondary
}
jgzswidk

jgzswidk2#

在SwiftUI中,此解决方案有效-在iOS 16上测试!

extension UISplitViewController {
    open override func viewDidLoad() {
        preferredDisplayMode = UISplitViewController.DisplayMode.oneBesideSecondary
        
        // remove sidebar button, make sidebar always appear !
       presentsWithGesture = displayMode != .oneBesideSecondary
        
    }
}

相关问题