swiftUI에서 스낵바를 사용하려는데 해당 기능이 없더라...
검색하면 git에 몇개 나오긴 하는데 맘에 드는게 없어서(안드로이드 처럼 심플하게..)
그래서 그냥 만들었다.
GIT여기서 확인 가능하다.
아래는 readme 내용 (변경될수 있으므로 깃 가서 보세용)
This is very simple Snackbar
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,
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
)