ios - 如何让 Storyboard 上的 UISplitViewController 先显示主视图?
问题描述
我有一个带有情节提要的简单应用程序,其中仅从 UI 对象列表中拖放了一个拆分视图控制器。
当我在 iPhone 模拟器上启动应用程序时,详细视图首先出现。
如何确保在应用启动时显示主视图?有没有办法在故事板上安排它?
解决方案
为了使主视图在 iPhone 上默认折叠,重写一些委托方法:
class SplitViewController : UISplitViewController {
override func viewDidLoad() {
super.viewDidLoad()
self.delegate = self
}
}
extension SplitViewController : UISplitViewControllerDelegate {
// The default for this is .secondary!!
@available(iOS 14.0, *)
public func splitViewController(_ svc: UISplitViewController,
topColumnForCollapsingToProposedTopColumn
proposedTopColumn: UISplitViewController.Column) -> UISplitViewController.Column {
return .primary
}
// default is false!
public func splitViewController(_ splitViewController: UISplitViewController,
collapseSecondary secondaryViewController:UIViewController,
onto primaryViewController:UIViewController) -> Bool {
return true
}
}
以前您会使用preferredDisplayMode = .primaryOverlay
,但现在已弃用。该代码适用于 iOS 14,并且也向后兼容早期的 iOS 版本。
推荐阅读
- javascript - 如何将具有相同属性的对象合并到一个数组中?
- android - Android - 在 ViewPager 中的特定片段上使 StatusBar 透明
- python-3.x - 使用 Dask 在 python 上对大数据集进行计算时计算机崩溃
- python - How to access individual feature map of tensors to keras layers
- react-native - 使用 Firebase 性能衡量应用启动跟踪
- maven - Gitlab CI。mvn 验证。未能执行目标
- c# - HTTP Web 请求 GET C#
- apache-spark - 将 PySpark 数据框列转换为具有特定条件的行
- python - Python3 获取 URL creation_date、updated_date 和 expired_date
- python - 我的问题是将黑客等级中字符串的第一个单词大写,我收到有关 EOF 错误的错误