如何导航到 SwiftUI 设置的新视图
Posted
技术标签:
【中文标题】如何导航到 SwiftUI 设置的新视图【英文标题】:How to navigate to new View for Settings for SwiftUI 【发布时间】:2019-07-27 13:29:57 【问题描述】:在应用程序上工作以显示设备的状态,使用 SwiftUI 按标签分组。我的主视图运行良好,显示了标签列表和相关设备的状态。我可以单击标签并打开一个新视图以显示有关标签的信息和有关设备的一些信息。
我看过Programatically navigate to new view in SwiftUI 并得到错误“函数声明了一个不透明的返回类型,但在其主体中没有返回语句可以从中推断出基础类型”
class MenuChoice: BindableObject
let didChange = PassthroughSubject<MenuChoice, Never>()
let willChange = PassthroughSubject<MenuChoice, Never>()
func login()
self.isSettingsViewActive = true
var isSettingsViewActive = false
didSet
didChange.send(self)
struct ViewMain: View
@EnvironmentObject var menuChoice: MenuChoice
var body: some View
if !menuChoice.isSettingsViewActive
ViewSettings()
else
ViewMain2()
我希望选项(按钮)导航到: ** 高级设置视图,我可以在其中配置整体设置 ** 专用于设备信息的视图 ** 标签信息独有的视图
视图工作,但我找不到导航到视图然后从视图返回的方法。
也许 SwiftUI 还没有准备好??
【问题讨论】:
【参考方案1】:你需要把你的 if 语句放在一个容器中,例如:Group
struct ViewMain: View
@EnvironmentObject var menuChoice: MenuChoice
var body: some View
Group
if !menuChoice.isSettingsViewActive
ViewSettings()
else
ViewMain2()
【讨论】:
谢谢!这确实解决了函数声明不透明返回类型的错误问题。但整体功能还不是我需要在视图之间移动的。是时候做一些家务了,然后回到这个问题。再次感谢您! 不客气。如果您继续尝试问题,请发布包含更多详细信息的问题,我们会尽力提供帮助。干杯;-)以上是关于如何导航到 SwiftUI 设置的新视图的主要内容,如果未能解决你的问题,请参考以下文章
如何通过单击按钮在 Swift UI 中从一个视图导航到另一个视图