热门标签 | HotTags
当前位置:  开发笔记 > IOS > 正文

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

如何解决《像在UISplitViewController上折叠一样,在SwiftUI中折叠doubleColumnNavigationView详细信息?》经验,为你挑选了1个好方法。

因此,当我在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。但是,如果人们点击名称,则详细信息视图为“ Hello!”。

一切都很棒。

但是,如果我以纵向方式运行iPad,则表情符号会向用户表示欢迎,然后就不会显示列表。您必须从左向右滑动才能使列表从侧面显示。

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

我不愿意留下一个注释,上面写着“从左侧扫入以查看文件/人员/所有内容的列表”

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



1> Ketan Odedra..:

Xcode 11 beta 3中,Apple已添加.navigationViewStyle(style:)NavigationView

已针对Xcode 11 Beta 5更新。
创建MasterView()DetailsView()

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)
    }
}

在我的ContentView中

var body: some View {

        NavigationView {

            MyMasterView()

            DetailsView()

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

输出:


填充,是吗?那太随意了。我会尽快尝试!
我尝试了一下,看起来,一旦添加了填充,就无法关闭侧边栏(这是必要的行为),以使Master View进入全屏状态。因此,它仍然不像我希望的那样。您可以使用变量将padding设置为0,以禁用边栏,但是似乎没有什么好办法通过NavigationLink等触发它。无论如何,这都是有点棘手,所以我可能需要通过反馈进行报告并等待下一个Beta。
这不是解决方案,因为(如预期的那样)它在外部增加了填充。这意味着视图无法使用整个屏幕。
推荐阅读
author-avatar
席钾攀
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有