十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

如何用 TTGSnackbar 实现加载中提示:loading 样式与 forever 时长的组合玩法

如何用 TTGSnackbar 实现加载中提示:loading 样式与 forever 时长的组合玩法 如何用 TTGSnackbar 实现加载中提示loading 样式与 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/TTGSnackbarTTGSnackbar 是一款用 Swift 编写的轻量级提示组件灵感来自 Android 的 Snackbar可以在屏幕底部或顶部展示带有多样动画的消息与操作按钮。本文带你快速掌握如何用 TTGSnackbar 实现加载中提示只需把style设为.loading再搭配duration: .forever就能做出一个自带转圈动画、且不会自动消失的加载条非常适合网络请求、文件上传等异步场景。为什么加载中提示要用 loading 样式 forever 时长普通提示如 1~5 秒只适合一次性信息而“加载中”状态的特点是结束时间不确定且结束前提示不能消失。TTGSnackbar 为此提供了两个关键能力TTGSnackbarStyle.loading自动显示并启动UIActivityIndicatorView转圈动画同时给出深色底、白色文字的标准加载外观TTGSnackbarDuration.foreverSnackbar 展示后不会自动关闭必须由代码手动调用dismiss()这正是加载场景所需要的“挂起”行为。两者的定义都可以在 TTGSnackbarTypes.swift 中看到loading 的样式逻辑则实现在 TTGSnackbarPresentation.swift 中。最快的加载中提示实现方法三步即可跑通创建 Snackbar → 设置 loading 样式 → 设置 forever 时长并展示。let snackbar TTGSnackbar(message: 正在同步数据…, duration: .forever) snackbar.style .loading snackbar.show()当任务完成后手动关闭它snackbar.dismiss()给加载条加上“完成”按钮加载提示常与操作按钮组合加载期间用户可点击取消完成后点按钮关闭。下面的写法来自示例工程 ViewController.swift稍作精简后非常直观let snackbar TTGSnackbar(message: Syncing data…, duration: .forever) snackbar.style .loading snackbar.actionText Done snackbar.actionBlock { snackbar in // 任务真正完成后再关闭加载条 snackbar.dismiss() } snackbar.show()注意当duration .forever且存在动作按钮时点击动作按钮会触发你设置的actionBlock由你决定何时dismiss()这一细节可在 TTGSnackbarInteractions.swift 中确认。定制加载动画的转圈样式loading 样式会自动启用系统转圈你还能像调整普通属性一样自定义它activityIndicatorViewStyle切换转圈尺寸风格activityIndicatorViewColor调整转圈颜色让其与消息文字更协调messageTextColor、actionTextColor进一步定制文字颜色。snackbar.activityIndicatorViewColor .white snackbar.animationType .fadeInFadeOut snackbar.animationDuration 0.3搭配animationType如.fadeInFadeOut、.slideFromBottomBackToBottom还能让加载条的进出场动画更贴合 App 整体风格动画类型枚举同样定义在 TTGSnackbarTypes.swift 中。用 async/await 优雅等待加载结果如果你使用 Swift ConcurrencyTTGSnackbar 还提供了异步展示 API展示 Snackbar 后await用户的点击或关闭动作拿到TTGSnackbarResult再继续后续逻辑实现“加载 → 等待 → 处理结果”的完整闭环详见 TTGSnackbarAsync.swift。let result await TTGSnackbar.show( configuration: TTGSnackbarConfiguration( message: 上传中…, duration: .forever, style: .loading, actionText: 取消 ) ) switch result { case .action: // 用户点了取消 print(upload cancelled) case .dismissed: // 已被手动关闭 print(dismissed) default: break }常见坑与避坑建议务必手动关闭.forever不会自动消失若忘记dismiss()加载条会一直挂在界面上结合容器使用示例工程展示了把多个 forever Snackbar 放进不同containerView独立展示的玩法适合多任务并行的仪表盘式界面队列与替换策略如果同一时刻只需一个提示可通过TTGSnackbarManager的enqueue、replaceCurrent等策略管理多个 Snackbar 的展示顺序。总结TTGSnackbar 实现加载中提示的玩法其实非常简洁style .loading负责外观与转圈动画duration .forever负责“不自动消失”再配合 actionBlock 或 async API 手动收尾。只要记住“forever 必须手动 dismiss”这一条规则就能轻松打造出体验流畅的加载提示让你的 iOS 应用在异步任务中始终给用户明确的反馈。【免费下载链接】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),仅供参考
返回列表