SwiftUI - 知道以前的视图是啥
Posted
技术标签:
【中文标题】SwiftUI - 知道以前的视图是啥【英文标题】:SwiftUI - Know what the previous view wasSwiftUI - 知道以前的视图是什么 【发布时间】:2020-08-08 14:46:29 【问题描述】:我想知道 SwiftUI 中是否有一个简单的函数来设置条件,即知道我们在什么视图中,在 .onAppear 函数中。
例如:有两个视图“View1”和“View2”导致视图“View3”。如果前一个视图是 View1,我希望 View3 的“转”变量为 true,如果前一个视图是 View2,我希望为 false。
我的示例代码:
struct View3: View
@State var turn: Bool
var body: some View
Text("aaa")
.onAppear
if /*previousView*/ == View1
self.turn = true
else if /*previousView*/ == View2
self.turn = false
您知道解决此问题的最简单方法吗?谢谢你的帮助
【问题讨论】:
【参考方案1】:最简单的方法:
struct View1: View
var body: some View
// ... other code
View3(turn: true)
// ... other code
struct View2: View
var body: some View
// ... other code
View3(turn: false)
// ... other code
struct View3: View
let turn: Bool
var body: some View
Text("aaa")
【讨论】:
以上是关于SwiftUI - 知道以前的视图是啥的主要内容,如果未能解决你的问题,请参考以下文章
在 SwiftUI 中将绑定传递给导航堆栈中每个视图的最佳方法是啥
SwiftUI:如何根据日期每天显示一个新视图,而以前的视图持续一周