💾
RHPlaceholder因为传统的加载视图
,如UIActivityIndicatorView
或类似的,已经不再流行(Facebook或Instagram应用程序正在移除这些方法),因此我决定创建一个非常简单的库,它将为您提供一个机会,在您的出色项目中轻松实现Facebook或Instagram的'视图加载状态',而无需付出太多努力
😎
试一试安装
您可以使用 Cocoapods安装此库
pod 'RHPlaceholder'
或使用 Carthage
在Cartfile中添加以下内容:
github "robertherdzik/RHPlaceholder"
然后执行carthage update --platform iOS.
用法
哇...使用方法非常简单
基本用法
只在你的 ViewController
中创建一个 Placeholder
的实例。
private let placeholderMarker = Placeholder() // By default you will have Insta like gradient animation
请注意,您可以从几种预定义的动画中选择(例如,RainbowAnimatorGradient)
private let placeholderMarker = Placeholder(layerAnimator: RainbowAnimatorGradient.self)
... 然后将库绑定到需要动画的视图
private func addPlaceholder() {
let viewElements: [UIView] = [
name,
surname,
age,
email,
birthDate
]
placeholderMarker.register(viewElements)
}
在 viewDidLoad
方法中调用 addPlaceholder()
方法。搞定!
剩下的事情就是用 startAnimation()
和 remove()
控制您视图上的 '加载状态' 动画了
func fetchUserData() {
placeholderMarker.startAnimation()
apiManager.fetchUser() { [weak self] user in
self?.placeholderMarker.remove()
// .. rest of the method
}
}
可用的动画列表
(默认)InstaLayerAnimatorGradient
BackAndForthLayerAnimatorGradient | BackAndForthLayerAnimatorGradient | BackAndForthLayerAnimatorGradient |
---|---|---|
![]() |
![]() |
![]() |
定制化
您可以通过遵循 LayerAnimating
协议并将您的新动画器作为参数传递给 Placeholder
的 init 来添加您自己的动画器。
Swift支持
库版本 | Swift版本 | 注意 |
---|---|---|
0.0.3 | 4.1 | 非常早期的版本,API 可能会更改 |
0.0.5 | 4.2 | 非常早期的版本,API 可能会更改 |
0.0.6 | 5.0 | 非常早期的版本,API 可能会更改 |
查看Demo项目
请查看demo项目,您可以在其中看到库是如何实现的详细情况。
布局灵感
布局灵感来源于Dribbble上的一个项目,遗憾的是现在无法找到这个项目,因此在这里无法标注创作者。
资源
- 出色
😍 标签栏图标来自
- 酷
😎 个人资料图标来自