传递给SwiftUI结构,一个绑定值

时间:2020-06-26 17:19:42

标签: swift swiftui

希望这是一个简单的问题。我试图从FilterView_Previews结构@Binding值传递给FilterViewa结构,该值是一个Bool,如下所示:

import SwiftUI

struct FilterView: View {
     @Binding var isNavigationBarHidden: Bool
    
    var body: some View {
        ZStack {
            Text("Filters go here")
        }
        .navigationBarTitle("")
        .onAppear {
            self.isNavigationBarHidden = false
        }
    }
}

#if DEBUG
struct FilterView_Previews: PreviewProvider {
    var isHidden: Bool = true
    
    static var previews: some View {
        FilterView(isNavigationBarHidden: isHidden)
    }
}
#endif

但是,值 isHidden 被标记为“无法将类型'Bool'的值转换为预期的参数类型'Binding'。在这种情况下,如何在FilterView_Previews结构中创建满足编译器要求的@Binding值?

1 个答案:

答案 0 :(得分:0)

在预览中,您可以尝试使用恒定绑定:

struct FilterView_Previews: PreviewProvider {
    static var previews: some View {
        FilterView(isNavigationBarHidden: .constant(true))
    }
}