swiftbindingswiftui

SwiftUI preview provider with binding variables


How do I generate a preview provider for a view which has a binding property?

struct AddContainer: View {
    @Binding var isShowingAddContainer: Bool
    var body: some View {
        Button(action: {
                self.isShowingAddContainer = false
            }) {
                Text("Pop")
            }
    }
}

struct AddContainer_Previews: PreviewProvider {
    static var previews: some View {
        // ERROR HERE <<<-----
        AddContainer(isShowingAddContainer: Binding<Bool>()
    }
}

In Code above, How to pass a Binding<Bool> property in an initialiser of a view?


Solution

  • Just create a local static var, mark it as @State and pass it as a Binding $

    struct AddContainer_Previews: PreviewProvider {
      @State static var isShowing = false
      static var previews: some View {
        AddContainer(isShowingAddContainer: $isShowing)
      }
    }