问题标签 [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.
swift - SwiftUI:如何更改 NavigationView.toolbar 背景颜色
关于如何将特定背景颜色应用于底部工具栏的任何想法?
ios - SwiftUI NavigationLink:如何在显示目标视图之前调用函数
我想在点击一个项目之后,在显示目标视图之前调用一个函数。
下面的代码似乎不起作用:myFunction被调用,但未显示目标视图。
看起来onTapGesture覆盖了NavigationLink目的地。
单击列表项时,如何同时拥有两者?
- 函数被调用
- 显示目标视图
ios - SwiftUI - 如何在纵向模式下删除使用 SidebarListStyle 设置样式的列表后面的白色背景
我SidebarListStyle在NavigationView.
问题是列表中的每一行后面都有一个白色矩形,但仅限于纵向模式。风景很好。

我不想要那个白色背景,有人知道如何删除它吗?此外,在启动应用程序时,它似乎出现了故障——起初它很好,然后它添加了白色背景。
奇怪的是,如果我添加.navigationViewStyle(StackNavigationViewStyle())到 中NavigationView,白色背景会消失并且可以正常启动。
左:启动方式,右:启动后的样子

↑ 这就是我想要的样子。
但是,现在横向模式仅限于全角列表,我也不想要。
编辑:@Omid的回答
我添加了背景颜色以匹配默认颜色:
但是启动故障仍然存在。
编辑:@pawello2222的回答
工作正常,只是旋转时奇怪的过渡。
swift - SwiftUI - 导航视图打开后退按钮和半灰屏/奇怪的行为
我正在尝试将导航视图添加到我的应用程序,但这会导致问题。我的主 UI 是一个可无限滑动的页面轮播。它最初看起来像这样:
然后当我将它包装在导航视图中时,它会像这样打开,带有一个后退按钮,没有别的:
左侧像原始 UI 一样可滑动,但是当我触摸右侧灰色的一侧时,它会将我带回带有返回按钮的空白页面。
知道可能是什么原因造成的吗?我通过将每个页面放在 ZStack 中并使用偏移量/相对位置来实现无限轮播。我参考了本教程: https ://www.youtube.com/watch?v=fB5MzDD1PZI
我不能使用 NavigationView 吗?是否可以采用另一种方法来创建自己的顶部 NavBar 并在没有 NavigationBar/NavigationLink 的情况下导航到单独的视图?
任何帮助表示赞赏,请随时提出问题等。谢谢!
swiftui - SwiftUI - TabView 灯光模式 UIColor 出现在预览中,而不是在 Sim 或设备中
我在 MacOS 11.01 上使用 Swift 5.3 并为 iOS 14.2 创建了一个新的“多平台”应用程序。我为亮/暗模式创建了自定义颜色资源,但无法让亮模式背景颜色显示在我的 TabView 上。TabView 暗模式背景颜色看起来很好。
浅色模式的背景颜色在 Xcode Preview 中看起来很完美,但是当我在 Sim 或我的设备上运行应用程序时,标签栏背景颜色在浅色模式下是清晰的,但在深色模式下显示正确的颜色。
I use the same color assets for coloring my NavigationView and both the light and dark mode colors appear correctly when the corresponding modes are selected.
最新的 SwiftUI 5.3 和颜色资产在这里有什么明显的遗漏吗?
我.onAppear在 TabView 中使用以下代码
UITabBar.appearance().barTintColor = UIColor(named: "barBackground")
请注意,“barBackground”是我创建的自定义颜色集,用于向 NavigationView 和 TabView 添加亮/暗模式背景颜色。
如果不清楚,很高兴提供更多信息。谢谢!
swiftui - SwiftUI NavigationLink isActive 不适用于动态列表
使用isActive动态NavigationLinks 的 bool 数据结构来启用程序化弹回是行不通的。在 中点击Pop BackDestination应该将视图弹出回 root DynamicList,但它不起作用。
swiftui - 直接设置选择而不是从 viewModel 设置选择时,SwiftUI NavigationLink 行为不同
我一直在使用 SwiftUI 并遇到了意外的行为。
我有视图 A 和视图 B 和视图 C。视图 C 具有从视图 A 更改 AppState 的 EnviromentObject
视图 B 具有带有选择的 ViewModel
如果我从 ViewModel 调用函数来更改选择,则视图 C 会显示几秒钟,然后它会自动弹回视图 B
如果我直接从视图 B(而不是视图模型)更改选择,一切都会按预期工作。另外,如果我注释掉Dissapear,它也可以工作。但是,当屏幕消失时我需要更改 environmentObject 这是 View B 和 ViewModel
工厂模式没有解决问题:



