1. PopupView
功能: 提供高度自定義的彈窗(Popup)和 Toast 提示。
-
特點(diǎn):
支持從屏幕頂部、底部、中間彈出。
支持自定義動(dòng)畫和樣式。
易于集成和使用。
GitHub: PopupView
安裝方式
在 Package.swift 或 Xcode 的 SPM 中添加:
dependencies: [
.package(url: "https://github.com/exyte/PopupView.git", from: "2.0.0")
]
示例
import SwiftUI
import PopupView
struct ContentView: View {
@State private var showPopup = false
var body: some View {
VStack {
Button("顯示 Toast") {
showPopup = true
}
.padding()
.background(Color.blue)
.foregroundColor(.white)
.cornerRadius(10)
}
.popup(isPresented: $showPopup, type: .toast, position: .bottom) {
Text("這是一個(gè) Toast 提示")
.padding()
.background(Color.black.opacity(0.8))
.foregroundColor(.white)
.cornerRadius(10)
.padding(.bottom, 40)
}
}
}
2. AlertToast
功能: 提供類似 Android 的 Toast 提示。
-
特點(diǎn):
簡單易用,支持多種樣式(普通 Toast、帶圖標(biāo)的 Toast、加載中 Toast 等)。
支持自定義顯示時(shí)長和動(dòng)畫。
GitHub: AlertToast
安裝方式
在 Package.swift 或 Xcode 的 SPM 中添加:
dependencies: [
.package(url: "https://github.com/elai950/AlertToast.git", from: "1.0.0")
]
示例
import SwiftUI
import AlertToast
struct ContentView: View {
@State private var showToast = false
var body: some View {
VStack {
Button("顯示 Toast") {
showToast = true
}
.padding()
.background(Color.blue)
.foregroundColor(.white)
.cornerRadius(10)
}
.toast(isPresenting: $showToast) {
AlertToast(type: .regular, title: "這是一個(gè) Toast 提示")
}
}
}
3. SwiftMessages
功能: 提供豐富的消息提示框(Toast、Popup、Banner 等)。
-
特點(diǎn):
支持多種樣式和動(dòng)畫。
高度可定制,適合復(fù)雜場景。
GitHub: SwiftMessages
安裝方式
在 Package.swift 或 Xcode 的 SPM 中添加:
dependencies: [
.package(url: "https://github.com/SwiftKickMobile/SwiftMessages.git", from: "9.0.0")
]
示例代碼
import SwiftUI
import SwiftMessages
struct ContentView: View {
var body: some View {
VStack {
Button("顯示 Banner") {
showBanner()
}
.padding()
.background(Color.blue)
.foregroundColor(.white)
.cornerRadius(10)
}
}
private func showBanner() {
let view = MessageView.viewFromNib(layout: .cardView)
view.configureContent(title: "提示", body: "這是一個(gè) Banner 提示")
view.button?.isHidden = true
SwiftMessages.show(view: view)
}
}
4. SPAlert
功能: 提供類似 iOS 系統(tǒng)風(fēng)格的提示框。
-
特點(diǎn):
支持成功、錯(cuò)誤、警告等多種樣式。
支持自定義圖標(biāo)和標(biāo)題。
GitHub: SPAlert
安裝方式
在 Package.swift 或 Xcode 的 SPM 中添加:
dependencies: [
.package(url: "https://github.com/ivanvorobei/SPAlert.git", from: "3.0.0")
]
示例
import SwiftUI
import SPAlert
struct ContentView: View {
var body: some View {
VStack {
Button("顯示提示框") {
showAlert()
}
.padding()
.background(Color.blue)
.foregroundColor(.white)
.cornerRadius(10)
}
}
private func showAlert() {
let alertView = SPAlertView(title: "成功", message: "操作成功完成", preset: .done)
alertView.present()
}
}
5. ToastUI
功能: 提供簡單易用的 Toast 提示。
-
特點(diǎn):
支持自定義內(nèi)容和樣式。
支持 SwiftUI 原生集成。
GitHub: ToastUI
安裝方式
在 Package.swift 或 Xcode 的 SPM 中添加:
dependencies: [
.package(url: "https://github.com/quanshousio/ToastUI.git", from: "2.0.0")
]
示例
import SwiftUI
import ToastUI
struct ContentView: View {
@State private var showToast = false
var body: some View {
VStack {
Button("顯示 Toast") {
showToast = true
}
.padding()
.background(Color.blue)
.foregroundColor(.white)
.cornerRadius(10)
}
.toast(isPresented: $showToast) {
ToastView("這是一個(gè) Toast 提示")
.toastViewStyle(DefaultToastViewStyle())
}
}
}
PopupView 高度自定義的彈窗和 Toast 需要復(fù)雜彈窗的場景
AlertToast 簡單易用的 Toast 提示 快速集成 Toast
SwiftMessages 豐富的消息提示框(Banner、Popup) 需要多種樣式提示的場景
SPAlert 類似 iOS 系統(tǒng)風(fēng)格的提示框 系統(tǒng)風(fēng)格提示框
ToastUI 簡單易用的 Toast 提示 SwiftUI 原生集成