在 SwiftUI 中折叠 doubleColumn NavigationView 详细信息,就像在 UISplitViewController 上折叠一样?

2024-06-19

因此,当我在 SwiftUI 中创建列表时,我可以“免费”获得主从拆分视图。

例如:

import SwiftUI

struct ContentView : View {
    var people = ["Angela", "Juan", "Yeji"]

    var body: some View {
        NavigationView {
            List {
                ForEach(people, id: \.self) { person in
                    NavigationLink(destination: Text("Hello!")) {
                        Text(person)
                    }
                }
            }
            Text("????")
        }
    }
}

#if DEBUG
struct ContentView_Previews : PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}
#endif

如果 iPad 模拟器处于横向模式,我会得到 splitView,并且第一个详细信息屏幕是表情符号。但如果人们点击一个名字,详细信息视图就会显示“你好!”

这一切都很棒。

但是,如果我以纵向方式运行 iPad,用户会看到表情符号,然后没有任何迹象表明有列表。您必须从左向右滑动才能使列表从侧面显示。

有谁知道有一种方法可以显示导航栏,让用户点击即可查看左侧的项目列表?那么它不仅仅是一个带有表情符号的屏幕?

我不想留下一张纸条,上面写着“从左侧滑入以查看文件/人员/其他内容的列表”

我记得 UISplitViewController 有一个可以设置的折叠属性。这里有类似的东西吗?


In Xcode 11 测试版 3,苹果已经添加了.navigationViewStyle(style:) to NavigationView.

更新为Xcode 11 测试版 5.
create 主视图() & 详情查看().

struct MyMasterView: View {

    var people = ["Angela", "Juan", "Yeji"]

    var body: some View {

        List {
            ForEach(people, id: \.self) { person in
                NavigationLink(destination: DetailsView()) {
                    Text(person)
                }
            }
        }

    }
}

struct DetailsView: View {

    var body: some View {
        Text("Hello world")
            .font(.largeTitle)
    }
}

在我的里面内容视图 :

var body: some View {

        NavigationView {

            MyMasterView()

            DetailsView()

        }.navigationViewStyle(DoubleColumnNavigationViewStyle())
         .padding()
    }

Output:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 SwiftUI 中折叠 doubleColumn NavigationView 详细信息,就像在 UISplitViewController 上折叠一样? 的相关文章

  • 无需 nib 以编程方式实例化 UIViewController

    我想创建一个UIViewController以编程方式进行 无需使用笔尖或故事板 我认为实施该计划就足够了UIViewController as class TestViewController UIViewController overr
  • 对 UITableView 进行动画处理时停止 UITableViewCells 进行动画处理

    我正在为 UITableView 制作动画 我希望表格视图像这样滑动打开 http www youtube com watch v XIGJLbiRsXE http www youtube com watch v XIGJLbiRsXE 然
  • iOS 6 仅支持一个视图的不同方向

    我只想将应用程序中的一个视图旋转到左横向或右横向 我的所有其他视图均处于纵向模式 并且我已将我的应用程序设置为仅支持纵向模式 随着 iOS 6 中方向的改变 我不知道如何做到这一点 我已经尝试过下面发布的内容 谁能告诉我我做错了什么 谢谢
  • Swift 3:无法通过 BLE 连接到外设

    我是 BLE 的新手 目前正在尝试制作一个简单的应用程序来连接到我的自定义 BLE 设备 我能够发现 BLE 设备 但由于某种原因我无法连接到它 我尝试用 浅蓝色 进行检查 它显示我的设备可连接并且似乎工作正常 但在我的应用程序中 当我发现
  • iOS:如何将视图从登录切换到主要内容 SwiftUi

    首先 我对 iOS 开发和 Swift 非常陌生 从 PHP 来到这里已经两周了 我正在构建一个简单的应用程序 当用户登录 已确认 时 视图切换到主要内容 所以目前我有一个 LoginView 这是首先加载的 我想知道当我单击 LoginV
  • UICollectionView 和补充视图(标题)

    尝试将补充视图添加到我的UICollectionView作为标题 我在让它工作时遇到问题 我用的是自定义的UICollectionViewFlowLayout返回一个contentSize总是比框架大至少 1 像素 我使用的是UIFresh
  • Android 中的 addJavascriptInterface 相当于 iOS 中的功能

    你可能知道 Android 的 WebView 有一个名为addJavascriptInterface 它将 Android JAVA 对象导入到 Javascript 上下文中 问题是 iOS 上有类似的东西吗 iOS 上的 UIWebV
  • 未调用NotificationServiceExtension

    iOS 10发布后 我使用NotificationServiceExtension用于图像通知 效果很好 但最近我发现有些不对劲 UNNotificationServiceExtension 中的代码不再调用 我不确定原因 所以我创建了一个
  • 解决听写/自定义文本视图错误

    我有一个实现的视图UIKeyInput并覆盖shouldBecomeFirstResponder回来YES 点击此视图时 键盘会弹出 如果用户点击听写按钮 按下 完成 然后尝试关闭键盘 应用程序将崩溃并显示 Fatal Exception
  • NSAttributedString '\n' 被忽略

    我有一个视图 其唯一的 UI 元素是UITextView In viewDidLoad 我使用 Text n 创建一个属性字符串 并将文本视图的属性文本设置为 NSAttributedString string NSAttributedSt
  • 快速转换:错误 - CGPathAddArc

    我正在尝试将我的 Swift 2 代码转换为最新语法 Swift 3 我收到以下错误 Nil 与预期的参数类型 UnsafePointer 不兼容 斯威夫特2代码 CGPathAddArc 路径 nil overlayView frame
  • 准备未签名的 Xcarchive

    太长了 问题 有没有办法准备一个 XArchive 然后他们可以自己分配配置文件并使用适当的分发证书进行签名 长问题 我的客户向我发送了我为他们开发的应用程序的配置文件 他们不想向我发送他们的分发证书 p12 文件 他们给我的指示如下 将配
  • 添加应用程序组后 Xcode 显示警告(将“应用程序组”权利添加到您的应用程序 ID)[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 在 Xcode 中添加应用程序组后 它显示警告 将 应用程序组 权限添加到您的应用程序 ID将 应用程序组容器 权限添加到您的应用程序 I
  • 从服务器实时更新的 iOS 应用程序:Socket(使用流)还是 Apple 推送通知服务?

    我正在尝试制作一个 iOS 5 应用程序 该应用程序具有来自服务器的实时信息 它只会在应用程序运行时使用这些 为了使其实时且无需轮询 我一直在评估两种设计路线 创建从应用程序到服务器的套接字 并通过流交换信息 Pros 相对简单 不涉及第三
  • 带过滤器的 AudioKit 导出文件

    我想用音频套件的许多过滤器覆盖现有的 m4a 文件 我的代码 file try AKAudioFile forReading recordVoiceURL player AKPlayer audioFile file delay AKVar
  • ipatool 失败并出现异常:#

    将 Xcode 升级到 9 0 1 版本后 在我的项目之一中导出为 iPA 时 我遇到错误 ipatool 失败 出现异常 NoMethodError undefined method toolsPath for nil NilClass
  • 如何在 UICollectionView PerformBatchUpdates 块中排序移动、插入、删除和更新?

    In my UICollectionView 我使用一个简单的自定义对象数组来生成和显示单元格 有时数据会发生变化 我想一次性为所有变化添加动画效果 我选择通过跟踪第二个数组中的所有更改 比较两个数组并在一个数组内生成一组移动 插入 删除和
  • FileManager 说文件不存在

    我有一个用例需要UIImage保存到文档目录 然后UIImage需要转换为PDF并保存到文档目录 转换为 PDF 的代码 var filePath NSString string self selectedMedia imagePath i
  • 如何在 swift 3 中发布原始数据?

    如果我使用 Postman 发布原始数据 就会收到响应 我正在使用这个代码 var dict Dictionary
  • 外围 BLE 设备的唯一标识符

    所以我有外围设备BLE设备 我需要一些标识符以便稍后与另一部 iPhone 共享 我连接的示例iPhone A 为外围设备 iPhone A 将外围设备的标识符保存到数据库中 稍后我可以轻松获取iPhone B 并连接到通过该标识符找到的外

随机推荐