[英]Cannot convert value of type 'Published<Bool>.Publisher' to expected argument type 'Binding<Bool>'
[英]SwiftUI binding boolean if statement (Cannot convert value of type 'Binding<Bool>' to expected condition type 'Bool')
我試圖有條件地顯示一個視圖(不使用.sheet)並使用綁定 boolean 在標題中返回上述錯誤。 如果我使用self.menuactivated
,@State 變量切換時不會顯示任何視圖。 有沒有解決的辦法?
struct ContentView: View {
@State private var menuActivated = false
var body: some View {
NavigationView {
... // code
}
if $menuActivated {
menuView()
}
}
}
我認為這是意圖(菜單將在切換時顯示在 NavigationView 上)
struct ContentView: View {
@State private var menuActivated = false
var body: some View {
ZStack {
NavigationView {
... // code
}
if menuActivated {
menuView()
}
}
}
}
找到了解決方法。 將NavigationView
嵌入到VStack
中,並將menuView
添加到它的末尾。
struct ContentView: View {
@State private var menuActivated = false
var body: some View {
ZStack {
NavigationView {
... // view code
}
if menuActivated {
menuView()
}
}
}
}
如果您正在尋找基於條件的視圖
func getView() -> AnyView {
return AnyView(
//any business logic and view
)
}
並像使用它一樣
self.getView()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.