TTGSnackbar 语义化样式实战success、warning、error、loading 一网打尽【免费下载链接】TTGSnackbarTTGSnackbar shows simple message and action button on the bottom or top of the screen with multi kinds of animation, which is written in Swift and inspired by Snackbar in Android. It also support showing custom view, icon image or multi action button.项目地址: https://gitcode.com/gh_mirrors/tt/TTGSnackbarTTGSnackbar 是一个用 Swift 编写的 iOS Snackbar 提示组件可以在屏幕底部或顶部展示轻量消息和操作按钮风格灵感来自 Android Snackbar。它内置了default、info、success、warning、error、loading六种语义化样式无需手动搭配颜色和图标一行style属性就能让 App 的消息提示既专业又统一。本教程带你逐一实战四种高频状态。什么是 TTGSnackbar 语义化样式语义化样式的核心思路是用业务含义表达状态而不是手填颜色数值。该枚举定义在TTGSnackbar/TTGSnackbarTypes.swift第 52-60 行objc public enum TTGSnackbarStyle: Int { case default case info case success case warning case error case loading }当你选择.success时组件会自动完成四件事应用推荐背景色、白色文字、配套的 SF Symbol 图标、匹配的触觉反馈。具体的颜色与图标映射逻辑集中在TTGSnackbar/TTGSnackbarPresentation.swift的apply(style:)方法中无需你关心任何细节。实战一success 成功提示绿色保存成功、上传完成、支付到账……这类正向反馈最适合用绿色成功样式let snackbar TTGSnackbar(message: Saved successfully, duration: .middle) snackbar.style .success snackbar.show()只需两行关键代码就会得到绿色背景 checkmark.circle.fill对勾图标 成功触觉反馈的完整效果实战二warning 警告提示橙色需要提醒用户再确认一下的场景比如设置未完成、即将过期、磁盘空间不足使用.warning最合适let snackbar TTGSnackbar(message: Please review your settings, duration: .middle) snackbar.style .warning snackbar.show()warning 样式会呈现橙色背景 exclamationmark.triangle.fill警告图标 警告触觉反馈视觉上足够醒目又不会像错误那样令人紧张。实战三error 错误提示红色网络请求失败、操作校验不通过、数据加载异常……错误提示要用高对比度的红色let snackbar TTGSnackbar(message: Network request failed, duration: .long) snackbar.style .error snackbar.show()error 样式自动给出红色背景 xmark.octagon.fill图标 错误触觉反馈。搭配.long时长给用户更充足的阅读时间再配上重试按钮体验更佳snackbar.actionText Retry snackbar.actionBlock { snackbar in retryRequest() snackbar.dismiss() }实战四loading 加载中深色 旋转动画加载中的处理方式和前三种略有不同它使用默认深色背景左侧会出现UIActivityIndicatorView旋转动画通常搭配.forever时长等待任务完成后再手动关闭let snackbar TTGSnackbar(message: Uploading..., duration: .forever) snackbar.style .loading snackbar.actionText Cancel snackbar.actionBlock { snackbar in cancelUpload() snackbar.dismiss() } snackbar.show()这就是典型的长任务 可取消交互动画提示任务进行中用户随时可以中止。组合实战三种状态排队展示真实业务里状态往往是连续出现的。示例 AppTTGSnackbarExample/TTGSnackbarExample/ViewController.swift中展示了一种优雅用法把 success、warning、error 三个 Snackbar 交给TTGSnackbarManager用.enqueue策略排队依次展示不打架let success TTGSnackbar(message: Saved successfully, duration: .short) success.style .success let warning TTGSnackbar(message: Please review your settings, duration: .short) warning.style .warning let error TTGSnackbar(message: Network request failed, duration: .short) error.style .error [success, warning, error].forEach { TTGSnackbarManager.shared.show(snackbar: $0, policy: .enqueue) }进阶玩法Configuration 配置对象与 async/await除了属性式 API现代写法还支持用一个值对象一次配齐所有参数语义样式同样内置其中let snackbar TTGSnackbar(configuration: .init( message: 文件已删除, duration: .long, style: .warning, actionText: 撤销, actionBlock: { snackbar in undoDelete() snackbar.dismiss() } )) snackbar.show()如果项目已经拥抱 Swift Concurrency还可以用await TTGSnackbar.show(configuration:)等待用户操作结果实现保存成功后提示、点撤销再还原的闭环流程具体实现参考TTGSnackbar/TTGSnackbarAsync.swift。小结TTGSnackbar 的语义化样式把颜色 图标 触觉反馈 加载动画打包成了四个开箱即用的状态绿色 success、橙色 warning、红色 error、深色 loading。记住一个公式——确定业务状态 → 选择对应 style → 调用 show()就能让 iOS 消息提示保持专业、统一、可无障碍感知同时省去大把 UI 微调时间。如果你正在寻找一款轻量、支持 Swift 与 Objective-C、自带语义化样式和队列管理的 iOS Snackbar 组件TTGSnackbar 值得直接上手体验。【免费下载链接】TTGSnackbarTTGSnackbar shows simple message and action button on the bottom or top of the screen with multi kinds of animation, which is written in Swift and inspired by Snackbar in Android. It also support showing custom view, icon image or multi action button.项目地址: https://gitcode.com/gh_mirrors/tt/TTGSnackbar创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考