A simple and ready to use Snackbar for your SwiftUI Application
File > Swift Packages > Add package dependency
https://github.com/zaniluca/SwiftUISnackbar
Version
you want to add, the Branch
or even the single Commit
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
@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)
}
}
Luca Zani – @zaniluca_ – [email protected]
Distributed under the MIT license. See LICENSE
for more information.
link |
Stars: 8 |
Last commit: 4 weeks ago |
First fully working release of SwiftUISnackbar (for iOS, iPadOS 14/15; Xcode 12/13)
Text
(Introduced with iOS15)Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics