ios - 在启动时显示主视图,在“滑过”时显示详细视图
问题描述
我有一个拆分视图控制器,在水平紧凑模式下,我希望它在启动时显示主视图控制器。默认情况下,拆分视图控制器将在启动时加载详细视图。可以使用以下代码段轻松更改:
func splitViewController(_ splitViewController: UISplitViewController, collapseSecondary secondaryViewController: UIViewController, onto primaryViewController: UIViewController) -> Bool {
return true
}
这对我来说很好,但是当“滑过”一个新视图并从常规水平宽度变为紧凑视图时,会显示主视图而不是详细视图。我希望继续显示详细视图,因为用户已经选择了它。例子:
然后,当我返回false
上面的代码片段时,我会通过滑动获得所需的行为,但显然现在应用程序将从细节而不是母版开始。collapseSecondary
带有as 的示例false
:
有没有办法两全其美?首先展示主视图控制器,然后在从常规水平宽度变为紧凑宽度时显示详细视图控制器。
解决方案
splitViewController(_ splitViewController: UISplitViewController, collapseSecondary secondaryViewController: UIViewController, onto primaryViewController: UIViewController) -> Bool
如果在接口更改时调用,请尝试此操作。
func splitViewController(_ splitViewController: UISplitViewController, collapseSecondary secondaryViewController: UIViewController, onto primaryViewController: UIViewController) -> Bool {
BOOL runningInSplitView //do logic check here based on windows bounds
if(!runningInSplitView)
return true;
return false;
}
否则,您将必须正确处理 usingoptional func primaryViewController(forCollapsing splitViewController: UISplitViewController) -> UIViewController?
及其对应物
推荐阅读
- rest - 我们可以通过 rest api/curl 访问或运行 kube-bench 吗?
- docker - Visual Studio CODE VSCODE 不能在 docker 中运行
- database - 关于在 sqlalchemy 中制作模型的问题
- r - R:ggplot2 不接受“周”日期格式
- url-rewriting - YII2 的 URL 后缀管理导致错误
- php - 使用 PHP8 迁移 Codeigniter 3 时没有有效的“向上”方法
- localhost - Penthao Dataintegration (PDI) 8.3 CE 显示错误“localhost:9051”页面在除浏览存储库之外的所有对话框中都找不到
- hl7-fhir - vhDir 有什么区别:FHIR 中的网络和组织
- docker - 如何在 docker 容器中运行 .net core grpc?
- python - 尝试通过python写入SQL时出现错误的版本号错误