繁体   English   中英

SwiftUI 导航为 iPad,它是如何工作的?

SwiftUI Navigation for iPad, how does it work?

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我正在学习 SwiftUI 并且有一个关于在 iPad 的视图之间创建导航的问题。 我在网上看到了很多教程,但展示了小型移动设备,但没有很多解决 iPad 导航理论和示例的内容。

--- 第 1 部分我有一个基本应用程序,我有一个“上一个”和“下一个”按钮,需要导航到下一个或上一个页面/视图。 我尝试使用 NavigationView/NavigationLink 路由,但似乎在 iPad 上效果不佳 - 根据我阅读的一篇文章。

任何人都会有一些资源或者我可以研究的例子来了解它是如何应用的。

--- PART 2另外,我想创建一个抽屉式滑出菜单。 有没有人有任何我可以查看的参考资源。

非常感谢大家。

在此处输入图像描述

示例代码:当我运行模拟器并单击 Next Page 时,没有任何反应。 我有另一个视图,其中结构称为 page_2,但它没有导航到它。

struct ContentView: View {
   var body: some View {
      NavigationView {
         ZStack {
            Image("iPad-bg")
                  .resizable(capInsets: EdgeInsets())
                  .ignoresSafeArea()
            VStack() {
                  HStack(alignment: .top) {
                     Spacer()
                     Button(action: {}) {
                        Image("menu-btn")
                              .resizable(capInsets: EdgeInsets())
                              .frame(width: 70.0, height: 70.0)
                              .padding(.trailing)
                     }
                     .padding(.top, -65)
                  }
                  Image("pg1-img1")
                     .padding(.top, -20.0)
                  HStack {
                     Button(action: {}) {
                        Text("Previous Page")
                           .foregroundColor(Color.white)
                     }
                     .padding(.vertical, 5.0)
                     .frame(width: 150.0)
                     .background(Color(red: 0.09, green: 0.10, blue: 0.21))
                     .cornerRadius(5.0)
                  Spacer()
                     NavigationLink(destination: page_2()){
                        Button(action: {}) {
                           Text("Next Page")
                              .foregroundColor(Color.white)
                        }
                        .padding(.vertical, 5.0)
                        .frame(width: 150.0)
                        .background(Color(red: 0.09, green: 0.10, blue: 0.21))
                        .cornerRadius(5.0)
                     }                     
                  }
                  .padding(.horizontal, 50.0)
                  Spacer()
            }
         }
      }
   }
}
1 个回复

您不能像这样创建NavigationLink 如果你想要一个看起来像 Button 的NavigationLink ,你可以使用这样的东西:

NavigationLink(destination: page_2()){
    Text("Next Page")
        .foregroundColor(Color.white)
}
.buttonStyle(.plain) // this is the important part
.padding(.vertical, 5.0)
.frame(width: 150.0)
.background(Color(red: 0.09, green: 0.10, blue: 0.21))
.cornerRadius(5.0)

作为提示:最好将此视图分解为多个子视图。 这不仅可以提高编码时的性能,还可以让您更好地推理您的代码。

1 iPad 上的 SwiftUI 导航 - 如何显示主列表

我的应用有简单的导航需求 列表视图(父对象) 列表视图(子对象) 详细视图(子对象) 我有这个设置并在 iPhone 上工作,但是当我在 iPad 上以纵向模式运行应用程序时,主列表总是隐藏的。 我在从第一个列表到第二个列表的导航链接上使用.isDetailLink(false) ...

2 iPad 中的 NavigationView 弹出框在 SwiftUI 中无法正常工作

我有以下代码在点击按钮时显示弹出框: 如果我在弹出框的内容中添加NavigationView ,那么我会得到: 知道为什么会这样吗? 如果我为内容设置一个固定的框架,它工作正常,但我不想这样做,因为我希望弹出框根据它的内容调整大小。 ...

4 自适应导航栏在iPad上不起作用

我正在拼凑我的第一个网站,陷入僵局。 为什么导航栏元素无法进入iPad的汉堡包模式? 我细读的一些文章建议编写一些javascript代码-此刻在我的头上有点高。 这是工作代码。 HTML CSS 我希望这是有道理的。 提前致谢。 每天都是学习的日子。 ...

2019-01-05 19:23:02 0 25   html/ css
5 SwiftUI NavigationView 与列表编程导航不起作用

我正在尝试在 NavigationView 中进行编程导航,但由于某种原因,我无法在视图之间切换。 从父视图切换时,一切正常 - 但是当我在其中一个子视图中尝试切换时,我会得到这种奇怪的行为(屏幕来回切换)。 我尝试禁用动画,但这没有帮助。 奇怪的是,如果我与.navigationViewStyle ...

6 SwiftUi - 导航视图 - 如何在 iPad 上显示两个视图

我希望 iPad 在侧栏中显示我的第一个 view1 列表,并在旁边显示第二个视图,由 view1 中选择的任何内容填充。 然后,当从 view2 列表中选择某些内容时。 全屏转到第三个视图。 在我的简单示例中,加载时我只会看到一个带有“< Back”的空白屏幕。 单击时,我会看到一个带有 ...

8 为什么我的粘性导航无法在iPad上使用?

我的单页网站( http://www.stefaanoyen.be )具有粘性导航,但是在iPad上无法正常使用。 它始终位于页面顶部,但是当我单击链接时,什么也没有发生。 仅当我位于页面顶部或链接所指向的部分已经部分可见时,这些链接才起作用。 我不知道这是否是javascript,c ...

9 导航视图在 iPad 上的 SwiftUI 中无法正常工作

我正在尝试创建一个适用于 iPhone 和 iPad 的导航视图。 目前我在 iPhone 上运行它,但是在 iPad 上运行它时,导航视图不能正确显示我的主视图。 见下文: 这是我加载应用程序的时候 如果我按下产品(左上角),它会打开产品选项卡。 当我单击产品时,它会转到此屏幕 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM