仅隐藏 UISplitViewController 中的 .supplementary 列

gpi*_*ler 10 ios swift ipados

我已经设置了一个UISplitViewControllerwith style .tripleColumn

let splitViewController = UISplitViewController(style: .tripleColumn)
preferredDisplayMode = .twoBesideSecondary
preferredSplitBehavior = .tile
Run Code Online (Sandbox Code Playgroud)

对于第一个菜单项“我的故事”,它需要三列。但是,对于所有其他菜单项,它应该只是主列(侧边栏)和可见的内容。该.supplementary列应该被隐藏。

在此输入图像描述

例如,当单击“我的统计信息”时,以下代码会隐藏.primary(侧边栏)和.supplementary列,仅显示“我的统计信息”。

splitViewController?.showDetailViewController(stats, sender: nil)
splitViewController?.hide(.supplementary)
Run Code Online (Sandbox Code Playgroud)

如何切换到样式.twoColumn并且仅使.primary.secondary列可见?

mat*_*att 4

在分割视图控制器中,根据设计,如果不显示.tripleColumn该列,就不可能出现该列。.primary.supplementary

并且您无法将同一个拆分视图控制器从 a 更改.tripleColumn.doubleColumn。我想您可以将整个分割视图控制器从界面中剥离出来并替换为另一个不同的控制器,但这真的是您想要做的吗?我认为按照设计使用方式使用分割视图控制器会更好。