1. PopupView
功能: 提供高度自定义的弹窗(Popup)和 Toast 提示。
-
特点:
支持从屏幕顶部、底部、中间弹出。
支持自定义动画和样式。
易于集成和使用。
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("这是一个 Toast 提示")
.padding()
.background(Color.black.opacity(0.8))
.foregroundColor(.white)
.cornerRadius(10)
.padding(.bottom, 40)
}
}
}
2. AlertToast
功能: 提供类似 Android 的 Toast 提示。
-
特点:
简单易用,支持多种样式(普通 Toast、带图标的 Toast、加载中 Toast 等)。
支持自定义显示时长和动画。
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: "这是一个 Toast 提示")
}
}
}
3. SwiftMessages
功能: 提供丰富的消息提示框(Toast、Popup、Banner 等)。
-
特点:
支持多种样式和动画。
高度可定制,适合复杂场景。
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: "这是一个 Banner 提示")
view.button?.isHidden = true
SwiftMessages.show(view: view)
}
}
4. SPAlert
功能: 提供类似 iOS 系统风格的提示框。
-
特点:
支持成功、错误、警告等多种样式。
支持自定义图标和标题。
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 提示。
-
特点:
支持自定义内容和样式。
支持 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("这是一个 Toast 提示")
.toastViewStyle(DefaultToastViewStyle())
}
}
}
PopupView 高度自定义的弹窗和 Toast 需要复杂弹窗的场景
AlertToast 简单易用的 Toast 提示 快速集成 Toast
SwiftMessages 丰富的消息提示框(Banner、Popup) 需要多种样式提示的场景
SPAlert 类似 iOS 系统风格的提示框 系统风格提示框
ToastUI 简单易用的 Toast 提示 SwiftUI 原生集成