SwiftSpinner
SwiftSpinner 是一个带有简洁和醒目风格的额外美观的活动指示器。它使用动态模糊和不透明度来叠加当前屏幕内容,并显示带有文本(或所谓的“转盘”)的活动指示器。
我为我的名为 Doodle Doodle 的 Swift 应用程序开发了它,并想与大家分享。
以下是活动的外观(从演示应用程序中获取)
使用方法
要运行示例项目,请克隆仓库,然后首先从 DemoApp 目录运行 pod install
。这将运行演示程序,向您展示转盘的外观以及它可以做什么。
代码示例
启动 SwiftSpinner
的简单代码
- 如果您通过 CocoaPods 安装了 SwiftSpinner,则需要导入它(在源代码文件的顶部添加以下内容)
import SwiftSpinner
- 当您想显示一个动画活动时(例如,圆环随机旋转)
SwiftSpinner.show("Connecting to satellite...")
- 如果您想显示一个静态活动指示器(例如,带有两个完整圆环的消息)
SwiftSpinner.show("Failed to connect, waiting...", animated: false)
- 当您想隐藏活动时
SwiftSpinner.hide()
如果您想在隐藏动画完成之后执行某些操作,可以向 hide()
方法提供一个回调函数
SwiftSpinner.hide({
//do stuff
})
这就全部了。如果您想更改当前活动的文本,只需再次调用 show(...)
即可,这将把旧文本动画过渡到新文本。
基础以上
如果您使用 SwiftSpinner
显示警告信息,可以轻松添加一个关闭处理程序
SwiftSpinner.show("Connecting \nto satellite...").addTapHandler({
SwiftSpinner.hide()
})
甚至可以添加副标题,让用户知道他们可以点击进行操作
SwiftSpinner.show("Connecting \nto satellite...").addTapHandler({
SwiftSpinner.hide()
}, subtitle: "Tap to hide while connecting! This will affect only the current operation.")
如果您想调整旋转器标题的字体
SwiftSpinner.setTitleFont(UIFont(name: "Futura", size: 22.0))
要重置为默认字体
SwiftSpinner.setTitleFont(nil)
如果您想直接更改屏幕上文本的任意方面
SwiftSpinner.shared.titleLabel
SwiftSpinner.shared.subtitleLabel
只有当经过一定时间后才会显示旋转器(例如,如果您正在下载文件 - 只有当操作时间超过一定时间后才显示消息)
SwiftSpinner.show(delay: 2.0, title: "It's taking longer than expected")
如果您在延迟时间过去之前调用 show(…)
或 hide()
,这将清除对 show(delay: …)
的调用。
显示消息一段时间
SwiftSpinner.show(duration: 4.0, title: "It's taking longer than expected")
或者,您可以将 SwiftSpinner
用作进度条,通过直接设置当前进度实现
SwiftSpinner.show(progress: 0.2, title: "Downloading Data...") // 20% trough the process
如果您想查看旋转器后面的内容,请将 showBlurBackground
设置为 false
SwiftSpinner.showBlurBackground = false
要求
必须导入 UIKit。如果您在 App Extension 中使用 SwiftSpinner,您必须在构建设置中的 Other Swift Flags
中添加 EXTENSION
。
安装
通过 CocoaPods
可以获得 SwiftSpinner
。要安装它,只需将以下行添加到您的 Podfile
中
pod "SwiftSpinner"
如果您不想使用 CocoaPods,只需将文件 SwiftSpinner/SwiftSpinner.swift 复制到您的 Xcode 项目中。
致谢
作者: Marin Todorov
关于 Marin 的更多信息
Tutorials by Tutorials 实现 iOS 动画,作者 |
iOS 动画 by 邮件订阅,作者 |
许可证
SwiftSpinner 在 MIT 许可下可用。更多信息请参阅 LICENSE 文件。