问题标签 [swiftui-navigationview]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
124 浏览

swiftui - 弹出框在 ForEach 中显示不准确的信息

我在 NavigationView 中有一个 ForEach 循环时遇到问题。当我单击编辑按钮,然后单击每一行右侧的铅笔图像时,我希望它显示我们在 ForEach 循环中使用的文本变量。但是,当我单击test123以外的文本的铅笔图像时,它仍然显示文本test123,我完全不知道为什么。

这是一个视频。为什么会这样?

0 投票
3 回答
433 浏览

swift - 催化剂导航视图上的列表滚动冻结

NavigationView在 macCatalyst 上遇到了一个奇怪的问题。下面是一个带有侧边栏和详细视图的简单应用程序。选择侧边栏上的项目会显示带有可滚动列表的详细视图。

第一个一切正常NavigationLink,详细视图显示并且可以自由滚动。但是,如果我选择了一个触发指向第二个详细视图的链接的列表项,则滚动开始,然后冻结。该应用程序仍然有效,只有详细视图滚动被锁定。

相同的代码在 iPad 上运行良好,没有任何冻结。如果我为 macOS 构建,详细视图中的 NavigationLink 将不起作用。

是否有任何已知的解决方法?

这就是它的样子,单击 LinkedView 后,短暂滚动然后视图冻结。仍然可以单击后退按钮或侧边栏上的其他项目,但列表视图被阻止。

在此处输入图像描述

这是代码:ContentView.swift

TestListApp.swift

0 投票
1 回答
675 浏览

swiftui - 如何在 SwiftUI 中动态推送视图或呈现视图?

我正在学习 SwiftUI,目前我的重点是实现一种我能够使用 UIKit 实现的方法。我需要创建一个方法来确定我应该推送视图还是根据布尔值以模态方式呈现视图。

在 UIKit 中,我的代码是:

但是在 SwiftUI 中,我不确定如何使用以下方法正确实现这一点:

  • NavigationLink - 用于推送视图
  • .sheet(isPresented:, content:) - 用于以模态方式呈现视图

NavigationLink 和 .sheet 修饰符似乎与视图实现相结合。是否有人已经在 SwiftUI 中遇到并解决了这种情况?谢谢

我正在使用 SwiftUI 1.0,因为我需要支持 iOS 13。

0 投票
2 回答
863 浏览

ios - SwiftUI:如何将 NavigationBarItem 与大标题导航标题对齐?

无论我尝试了什么,我都无法让这个导航栏项目与这个视图上的大标题对齐?我尝试使用 Spacer() 填充或将其放置在 VStack 中,但均未将其向下推。我怎样才能正确对齐它?

图片

0 投票
1 回答
506 浏览

macos - 三列布局的 SwiftUI macOS 工具栏图标对齐

在这个问题之后,如何在 swiftUI 生命周期中为三列视图添加工具栏分隔符 ,我有一个稍微不同的问题。我正在尝试实现相同的目标,但是第二列和第三列包含在视图中,该视图又添加到导航视图中,靠近第一列,即侧边栏。

代码示例

输出

正如您在下面看到的,应该在第二列的工具栏上的箭头图标与详细视图的工具栏图标一起被推到右侧。似乎 NavigationView 将 ListItemView 和 DetailView 工具栏视为一个工具栏。

三列布局的工具栏

期望的输出

预期对齐

问题

所以,我的问题是如何让工具栏图标与他们的视图对齐?

0 投票
1 回答
41 浏览

swiftui - 在我的 iOS 应用中的视图之间构建导航

随着时间的推移,通过App得到越来越复杂的形状。

在某些情况下,应用流程可能是:

查看 A -> 查看 B -> C -> D 然后返回 D -> C -> B -> A..

但有时我需要跳过视图并转到 D -> B -> A..

在某些情况下,它的 A -> C -> D 然后是 D -> A

我开始使用 NavigationView/NavigationLink,在某些情况下我使用以下方法:

不,我意识到它已经变得一团糟..是时候让我重新考虑一下了..

您如何处理应用程序中的导航,这些导航不能总是通过从导航堆栈中推送/弹出视图来完成?

0 投票
0 回答
155 浏览

swift - 存在 NavigationView 时,SwiftUI macOS 无法更改主菜单

我尝试在我的 SwiftUI macOS 应用程序中更改主菜单的某些项目。我还没有使用 UIKit 和 UIMenuBuilder 的 macOS Catalyst。我也想为 Catalyst 以下的 macOS 版本创建我的应用程序。

我添加了一个 AppDelegate,我想通过删除某些条目来更改主菜单,并向编辑 > 删除命令添加一个快捷键。

在我将 NavigationView 添加到视图堆栈之前,一切正常:

当您在 testApp 中删除 NavigationView 并且仅显示文本(“hi”)时,我的 AppDelegate 中的所有命令都可以正常工作。但是,当您在 UI 中的某处有 NavigationView 时,.removeItemand.isHidden = true仍然可以工作,但其余的则不能。

为什么在你的 UI 中的某个地方有一个 NavigationView(它不必是最上面的,也可以是更多层)使我能够向菜单项添加一个快捷键?这是一个错误吗?如果是,这是一个已知的错误吗?如果不是,为什么会这样?

我应该完全自己构建主菜单,而不是使用应用程序创建的默认菜单吗?

0 投票
1 回答
112 浏览

swiftui - 列表元素上的 SwiftUI 清除背景

我有一个使用 ForEach 生成卡片视图的列表。它们应该有清晰的背景,但其中一个总是有白色背景,我不知道如何改变它。我尝试过.background(Color.clear)使用我能想到的任何视图,以及使用.listRowBackground(Color.clear),但一个视图仍然有背景,尽管它与所有其他视图相同。

这是一张图片来显示我在说什么: 在此处输入图像描述

这是navigationView主体的代码,这些代码出现在:

这是出现在上面 ForEach 中的视图主体的代码(称为“任务”):

0 投票
2 回答
558 浏览

swiftui - SwiftUI:使用 Sidebar Visible 启动三列 iPad 应用程序

使用下面的代码可以创建一个基本的三栏 iPad 布局。

但是,当应用程序启动时,它会以两列布局进行。

两列

我想要实现的是应用程序以三列布局启动:

三列

SwiftUI 2 可以吗?

0 投票
1 回答
511 浏览

swiftui - SwiftUI 2.0:如何使用没有标题的toolbar() 自定义iOS 14 导航栏?

我的 iOS 14 App 屏幕有以下设置:

到目前为止它的工作原理......

  • 但是我对该行有多个警告 UINavigationBar.appearance().titleTextAttributes = [.foregroundColor: UIColor(named:"ToolbarForegroundColor")] 如果我替换UIColorColorlike UINavigationBar.appearance().titleTextAttributes = [.foregroundColor: Color("ToolbarForegroundColor")] 警告消失但我崩溃了......有什么问题?

  • 而且我也想摆脱导航栏标题......这可能吗?