资讯动态

TTGSnackbar 消息时长设置详解:short、middle、long 与 forever 该怎么选?

发布时间:2026/8/20 21:07:35 来源:尧图企业网站定制
TTGSnackbar 消息时长设置详解short、middle、long 与 forever 该怎么选【免费下载链接】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/TTGSnackbarToast 提示一闪而过、关键操作来不及点别让提示时长毁了用户体验。TTGSnackbar 是一款用 Swift 编写的 iOS 提示条组件灵感源自 Android 的 Snackbar支持在屏幕底部或顶部显示消息与操作按钮。本文围绕 TTGSnackbar 消息时长设置展开带你弄清 short、middle、long、custom、forever 五种时长的区别与适用场景并给出可直接套用的代码示例。一、TTGSnackbar 消息时长到底有哪几种TTGSnackbar 通过TTGSnackbarDuration枚举统一管理展示时长定义在 TTGSnackbarTypes.swift 中枚举值默认时长行为.short1 秒一闪而过的轻提示.middle3 秒默认均衡值大多数场景首选.long5 秒留给用户阅读或操作的空间.forever不自动消失必须手动调用dismiss().custom自定义需配合customDuration属性使用源码中short 1、middle 3、long 5forever是一个极大的整数2147483647本质含义是不启动自动消失定时器。上图是最基础的纯文本提示代码中直接指定.short时长let snackbar TTGSnackbar(message: TTGSnackbar!, duration: .short) snackbar.show()二、short、middle、long 该怎么选一张表看清使用场景选择时长的核心原则是让用户有足够时间读完消息又不让提示遮挡界面太久。时长推荐场景举例.short无需用户反应的纯告知自动保存成功、静默同步完成.middle需要用户短暂留意操作结果确认、状态变更提示.long附带了操作按钮或较长文案带撤销按钮、包含两行说明.forever等待用户主动决策断网重连、登录失败需重试.custom以上都不满足的精确控制根据消息长度动态计算秒数带操作按钮时建议使用 long当 Snackbar 携带操作按钮如 Undo用户需要时间定位并点击按钮此时.long的 5 秒是更稳妥的选择let snackbar TTGSnackbar( message: 删除成功, duration: .long, actionText: 撤销, actionBlock: { snackbar in // 恢复数据 } ) snackbar.show()三、自定义时长custom 与 customDuration 的精确用法内置档位不够用时可以组合.custom与customDuration实现任意秒数。注意两点customDuration必须大于 0否则会在 debug 构建中触发断言并回退到.short该回退逻辑写在 TTGSnackbarPresentation.swift 的resolvedDisplayDuration()方法里。let snackbar TTGSnackbar(message: 重要通知, duration: .custom) snackbar.customDuration 8 // 精确显示 8 秒 snackbar.show()更推荐使用TTGSnackbarConfiguration值类型配置一步到位let config TTGSnackbarConfiguration( message: 重要通知, duration: .custom, customDuration: 8, style: .info ) TTGSnackbar(configuration: config).show()四、forever 的隐藏玩法loading 加载态.forever是最特殊的一种消息时长提示不会自动消失需要手动调用dismiss()。它最常见的用途是加载中状态——任务完成后由代码主动收起。let loading TTGSnackbar(message: 同步中…, duration: .forever) loading.show() // 数据同步完成后 loading.dismiss()源码里还有一个贴心设计当duration .forever且带操作按钮时点击操作按钮后不会立即关闭而是切换成 loading 指示器继续转圈直到你手动 dismiss见 TTGSnackbarInteractions.swift。这对提交 → 等待结果 → 关闭的流程非常有用。五、容易被忽略的时长细节暂停、恢复与优先级自动暂停定时器提升可用性TTGSnackbar 默认开启两个暂停保护定义于 TTGSnackbar.swiftpausesDismissTimerWhenAppInactiveApp 退到后台时暂停倒计时回到前台再继续pausesDismissTimerOnTouch手指按住 Snackbar 时暂停倒计时松手后继续。这让长文案或慢速点击的用户不会因为切后台、犹豫而错过提示。手动暂停与恢复如果你在展示期间需要临时冻结提示例如弹出二次确认可以调用snackbar.pauseDismissTimer() // 暂停自动消失 snackbar.resumeDismissTimer() // 恢复剩余展示时间对应实现见 TTGSnackbarPresentation.swift它会精确记录已流逝的时间恢复时从剩余时长继续不会重新计时。优先级与队列当多条提示并发时TTGSnackbarManager提供enqueue排队、replaceCurrent替换当前等策略避免提示互相覆盖导致消息时长失效相关枚举定义在 TTGSnackbarTypes.swift。六、避坑清单消息时长设置的 4 个常见问题customDuration 设成负数或 0触发断言并回退为.short排查时先检查赋值。forever 忘记 dismiss提示会一直悬挂在界面上务必在异步回调或 deinit 中调用dismiss()。动画时长与展示时长混淆animationDuration默认 0.3 秒控制的是出现/消失动画不是展示时长别改错属性。长文案配 short文字还没读完提示就消失建议按文案长度动态选择.long或.custom。七、总结消息时长设置的最快上手路径纯告知、无需操作→.short1 秒常规提示、默认选择→.middle3 秒带按钮或长文案→.long5 秒精确控制秒数→.customcustomDuration加载中、等待决策→.forever 手动dismiss()TTGSnackbar 完整示例代码可参考项目内的 TTGSnackbarExample 与中文文档 README.zh-CN.md在 TTGSnackbar.swift 中还能看到duration、customDuration、animationDuration三个相关属性的完整定义。掌握 TTGSnackbar 消息时长设置你的 App 提示将既清晰又不打扰体验瞬间提升一个档次。【免费下载链接】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),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价