A simple and ready to use Snackbar for your SwiftUI Application
- Open Xcode
- Go to
File > Swift Packages > Add package dependency
- Add it by pasting this link
https://github.com/zaniluca/SwiftUISnackbar
- Select the
Version
you want to add, theBranch
or even the singleCommit
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(...)
}
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))
}
}
Or by using the Wrapper SnackbarStore
that you can use to interact with the Snackbar
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
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)
}
}
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)
}
}
- 1.0.0 - 01/10/2021
- First release 🎉
- Support for markdown inside Text (only iOS15)
- 0.0.2 - 18/03/2021
- Dismiss on tap
- Set dismiss timer
- 0.0.1 - 15/03/2021
- First relase
Luca Zani – @zaniluca_ – zani.luca@icloud.com
Distributed under the MIT license. See LICENSE
for more information.