问题标签 [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.
swiftui - 使用 NavigationLink 时不重新加载选项卡项的 SwiftUI 问题
我在 TabView 中使用导航视图,问题是如果我在选项卡 A 上使用 NavigationView 打开其他视图,当从选项卡 A 更改为 B 时,过了一会儿我回到选项卡 AI 不会重新加载选项卡 A从头开始,但它显示使用 NavitagionLink 打开的最后一个视图。问题是在每个视图中我都从数据库中获取数据,因此如果显示一个空视图。
我的 ContentView 如下所示:
如果我打开 SearchView()
如果在 SearchView 中,我在 View_2() 上并且我打开另一个选项卡,当我返回选项卡 SearchView 时,它不会显示 SearchView(),但它仍然在 View_2() 上,并带有导航栏中的后退按钮。
我怎样才能显示 SearchView() 而不是保持 NavigationLink 的状态?
swiftui - Swiftui,按钮网格视图
我在这里检查了几个关于网格视图的问题,但我的问题有点不同,我想为按钮创建一个网格视图,以便在按下每个按钮时导航到不同的视图,所以它看起来像这样的图像: 这是网格按钮看法
所以我在这里写了这段代码,但看起来我并没有很成功地得到我想要的东西,有没有更好的想法来实现这个设计作为网格视图?
swift - 如何从 SwiftUI 推送到现有的 UINavigationController 堆栈?
我们正在推动一个SwiftUI
嵌入在这样UIHostingViewController
的UIKit
土地中的视图:
首先制作UIViewController
:
然后将其压入UINavigationView
堆栈:
这让我们进入SwiftUI
's 环境。但是,如果我们的环境有它自己的带有andSwiftUI
的导航堆栈,那么原始的后退按钮只能导航回原始呈现。NavigationView
NavigationLink
navigationBar
UIViewController
有没有办法将SwiftUI
嵌入NavigationView
到现有堆栈中的视图推送到现有UINavigationController
堆栈中?
到目前为止,我们唯一的想法是UIHostingViewController
为每个新屏幕创建一个新SwiftUI
屏幕,并通过某种委托方法将其推送到堆栈上。
我们正在寻找的是这样的:
中的后退<
箭头navigationBar
将按预期运行。
如果我们可以进一步澄清,请告诉我们!
swiftui - 带有 NavigationView/NavigationLink 延迟的程序化导航跳回
我创建了一个可以重现我的问题的简单展示;我正在做的是从初始视图 => View1 => View2 导航。
从初始到 View1 的导航是通过按钮点击发生的,这里没有什么特别的。
我的 View1 如下所示:
如果我将延迟包含在 中onAppear
,它会按预期工作;延迟之后,我被导航到View2
并留在那里。
但是,如果我删除延迟(或将其设置为例如 300 毫秒),我会被导航到View2
,但会立即被导航回来。我不明白这里发生了什么;为什么我$viewModel.foo
设置为 false 后设置为true
?
swift - 在 SwiftUI 中以编程方式移动 NavigationView 的最佳实践是什么
我正在开发一个需要在用户上次使用的视图上打开的应用程序,即使该应用程序被用户或 ios 完全杀死。
结果,我保留了 UserDefaults 中使用的最后一个视图,并自动将用户移动到堆栈中的每个视图,直到他们到达目的地。
每个视图上的代码如下:
有没有更好/标准的方法来实现这一目标?这在 iOS 14.* 上运行合理。* 但在 iOS 13.* 上运行不佳。* 在 iOS 13.* 上,重定向通常不会到达其目标页面,并且似乎没有创建堆栈中的先前视图。按回等会导致崩溃。
任何帮助/建议将不胜感激。
ios - 你如何在swiftUI中禁用navigationBaritems
我有一个 .navigationBarItems 按钮,我想根据我的应用程序在做什么来启用/禁用它,但我一生都无法弄清楚该怎么做?!
我的视图通过 NavigationView 被拉到我的主应用程序视图中,所以我知道栏项目正在正确显示等等。在我看来,在导航到它时会被拉进来,我在堆栈底部有这段代码:
我希望能够切换尾随的“结束日”按钮以启用/禁用,可能基于一些 Bool 状态变量?例如,当用户进入应用程序的某个模式时,它被启用,当他们退出该模式时,它被禁用。我的应用程序是一个锻炼应用程序,所以当他们锻炼时我希望它被启用,而当他们完成锻炼时它被禁用(这是默认设置)。
任何帮助将不胜感激!谢谢!!
swiftui - swiftUI - 强制屏幕到横向后无法关闭模式屏幕
我打开一个完整的模态视图
在 playerView .onApper 中,我使用以下代码强制屏幕进入横向模式:
并且当它尝试关闭视图或将 isPresentedPlayerView 设置为 false 或通过 presentationMode.wrappedValue.dismiss() 屏幕未关闭时!任何想法???
这是关闭代码:
顺便说一句,此代码适用于 Xcode 12.2 并停止适用于 xcode 12.3/ .4
swift - List 中的 ForEach 停止 DestinationView 中的更新传播
我认为从这个虚拟示例中非常清楚:如果您删除ForEach
代码行,神奇地,传播将流动并且时钟将滴答作响,否则一旦出现详细视图,它将冻结。
swift - 列表未在 DestinationView 中传播更新
一旦详细视图完全呈现,时钟将冻结。
如果你List
用ScrollView
/替换,VStack
传播将会流动。