iOS 优雅的队列式提示框解决方案

50 阅读4分钟

🚀 AMToast:iOS 最优雅的队列式提示框解决方案

让您的 App 提示更专业、更流畅

AMToast 是一个专注于队列式显示的 iOS Toast 提示框库。它能够优雅地处理多个提示信息的展示,确保每个提示都能被用户清晰地看到。通过智能的队列管理机制,AMToast 可以自动处理多个提示的显示顺序,避免提示信息重叠或丢失,为用户提供流畅的提示体验。

队列展示效果

核心优势

  • 📝 智能队列管理:自动处理多个提示的显示顺序,确保每个提示都能被用户看到
  • 精确的时间控制:每个提示都有独立的显示时间控制
  • 🎯 多种显示位置:支持顶部和中间位置显示
  • 🎨 高度可定制:支持自定义样式和视图
  • 📱 完美适配:支持屏幕旋转,自动调整位置

目录

特性介绍

  • 🎯 多种显示位置(顶部、中间)
  • 📝 队列式显示,支持多个 Toast 依次展示
  • 🎨 高度可定制的样式(圆角、背景色、字体等)
  • 🖼 支持自定义视图
  • 📱 完美适配屏幕旋转
  • ⚡️ 轻量级,无依赖
  • 🛠 简单易用的 API

系统要求

  • iOS 9.0+
  • Swift 5.0+
  • Xcode 11.0+

安装方法

CocoaPods

在您的 Podfile 中添加:

pod 'AMToast'

然后运行:

pod install

Swift Package Manager

在 Xcode 中,选择 File > Swift Packages > Add Package Dependency,然后输入:

https://github.com/owlivendy/AMToast.git

基础使用

简单提示

// 显示一个简单的提示
AMToast.show(with: "这是一条提示消息")

位置控制

// 在顶部显示提示
AMToast.show(with: "这是一条顶部提示", position: .top)

// 在中间显示提示
AMToast.show(with: "这是一条中间提示", position: .center)

预设样式

// 显示成功提示
AMToast.showSuccess(with: "操作成功!")

// 显示错误提示
AMToast.showError(with: "操作失败!")

// 显示警告提示
AMToast.showWarning(with: "请注意!")

高级功能

自定义样式

// 自定义圆角
AMToastConfig.ToastViewStyle.cornerRadius = 20

// 自定义背景颜色
AMToastConfig.ToastViewStyle.backgroundColor = UIColor.red.withAlphaComponent(0.94)

// 自定义文字颜色
AMToastConfig.ToastViewStyle.textColor = .white

// 自定义字体
AMToastConfig.ToastViewStyle.font = UIFont.systemFont(ofSize: 16, weight: .medium)

// 自定义显示时长(秒)
AMToastConfig.displayDuration = 3.0

// 自定义位置边距
AMToastConfig.Position.topMarginPortrait = 100
AMToastConfig.Position.topMarginLandscape = 20

自定义视图

// 创建自定义视图
let customView = UIView()
let imageView = UIImageView(image: UIImage(named: "icon"))
let label = UILabel()
label.text = "自定义提示"
customView.addSubview(imageView)
customView.addSubview(label)

// 创建 Toast 视图
let toastView = AMToastView()
toastView.contentInsets = UIEdgeInsets(top: 12, left: 20, bottom: 12, right: 20)
toastView.customView = customView

// 显示自定义 Toast
AMToast.show(with: toastView, position: .center)

队列管理

// 清空当前队列
AMToast.clearQueue()

// 取消所有正在显示的 Toast
AMToast.cancelAll()

示例效果

[这里将添加各种使用场景的截图]

  1. 基础提示示例
  2. 不同位置的提示示例(顶部、中间)
  3. 不同类型的提示示例(成功、错误、警告)
  4. 自定义样式示例
  5. 自定义视图示例
  6. 队列显示效果示例

注意事项

  1. Toast 默认显示时长为 2 秒
  2. 默认最大显示数量为 3 个
  3. 建议在 UI 线程中调用显示方法
  4. 自定义视图时注意内存管理
  5. 在横竖屏切换时,Toast 会自动调整位置
  6. 建议在适当的时机调用 clearQueue() 方法清理队列

最佳实践

  1. 提示信息要简洁明了
  2. 避免同时显示过多 Toast
  3. 根据提示类型选择合适的显示位置
  4. 自定义样式时注意与 App 整体风格保持一致
  5. 在适当的场景使用自定义视图,提升用户体验

常见问题

  1. Q: Toast 显示位置不正确? A: 检查是否正确设置了 position 参数,以及是否配置了正确的边距。

  2. Q: 自定义视图不显示? A: 确保正确设置了 customView 属性,并且视图层级关系正确。

  3. Q: Toast 显示时间太短/太长? A: 可以通过 AMToastConfig.displayDuration 调整显示时长。

更新日志

1.0.0

  • 初始版本发布
  • 支持基础 Toast 显示
  • 支持自定义样式
  • 支持自定义视图
  • 支持队列管理

贡献指南

欢迎提交 Issue 和 Pull Request!在提交代码前,请确保:

  1. 代码符合项目的编码规范
  2. 添加了必要的测试用例
  3. 更新了相关文档
  4. 提供了清晰的提交信息

许可证

AMToast 使用 MIT 许可证,详情请查看 LICENSE 文件。