问题标签 [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
动态NavigationLink
s 的 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
工厂模式没有解决问题: