This is very simple Snackbar
- Go to File > Swift Packages > Add package dependency
- Add it by pasting this link https://github.com/jmseb3/SwiftUI-Snackbar.git
- Select the Version you want to add, the Branch or even the single Commit
import SwiftUI_Snackbar
import SwiftUI
import SwiftUI_Snackbar
@main
struct testApp: App {
//make Controller
let sc = SnackbarController()
var body: some Scene {
WindowGroup {
SnackBarHost() {
//Yout ContentView
ContentView()
}.environmentObject(sc)
}
}
}
on @main make SnackbarController and use SnackBarHost
struct ContentView: View {
@EnvironmentObject var sc : SnackbarController
@State var cnt :Int = 0
var body: some View {
VStack {
Button("test") {
cnt = cnt + 1
sc.showSnackBar(
message: "test\(cnt)",
label: "ok"
) {
sc.resetSnackBar()
}
}
}
.padding()
}
}
now you can use snackbar by SnackbarController
you can use under method
func showSnackBar(
message: String
)
func showSnackBar(
message: String,
dismissAction : @escaping () -> Void
)
func showSnackBar(
message: String,
duration: SnackbarDuration = SnackbarDuration.Short
)
func showSnackBar(
message: String,
label: String? = nil,
action: @escaping () -> Void
)
func showSnackBar(
message: String,
label: String? = nil,
duration: SnackbarDuration = SnackbarDuration.Short,
action: @escaping () -> Void
)
class AppDelegate: NSObject, UIApplicationDelegate {
func application(_ application: UIApplication,didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
//Change Color
SnackbarOption.shared.bgColor = Color.red
SnackbarOption.shared.textColor = Color.red
SnackbarOption.shared.labelColor = Color.red
//Change TextSize
SnackbarOption.shared.textSize = 15
SnackbarOption.shared.textSize = 12
return true
}
}
-
0.0.3
add TextSize Option -
0.0.2
add Color Option -
0.0.1
pre-Release