Add a Snackbar to your View - zaniluca/SwiftUISnackbar GitHub Wiki
To add a Snackbar
to your SwiftUI View
you must first import the package
import SwiftUISnackbar
Then to use it just add to your view the custom View's method .snackbar
Text("Hello, World!")
.snackbar(...)
}
View props
To set the values on the Snackbar
you can either define them individually like so
import SwiftUI
import SwiftUISnackbar
struct YourView: View {
var title: String = "Snackbar Title"
var text: String = "Hi I'm the Snackbar's text"
@State var show: Bool = true
var body: some View {
Text("Hello, World!")
.snackbar(isShowing: $show, title: title, text: text, style: .custom(.blue))
}
}
SnackbarStore
Or by using the Wrapper
SnackbarStore
that you can use to interact with the Snackbar
The
SnackbarStore
lets you interact with theSnackbar
via some methods as shown in This Page
You can use it as a @StateObject
or as an @EnvironmentObject
so that you can use it by injecting it in the View Hierarchy
making it accessible from any children view
@StateObject
struct MyView: View {
@StateObject var store = SnackbarStore()
var body: some View {
Text("Hello, World!")
.snackbar(isShowing: $store.show, title: store.title, text: store.text, style: store.style, actionText: store.actionText, action: store.action)
}
}
@EnvironmentObject
Remember to inject it in the View Hierarchy
like so
MyView()
.environmentObject(SnackbarStore())
And the you can use it normally
struct MyView: View {
@EnvironmentObject var store: SnackbarStore
var body: some View {
Text("Hello, World!")
.snackbar(isShowing: $store.show, title: store.title, text: store.text, style: store.style, actionText: store.actionText, action: store.action)
}
}