Facebook shimmer 效果的 Swift 实现。
此项目不再进行积极开发。它很稳定,并且在未来几年内仍然可以使用。我正在将精力转移到 SwiftUI 上。
从该存储库下载 .zip 文件,并将 Shimmer 文件夹拖到您的项目中。
将 github "BeauNouvelle/ShimmerSwift"
添加到您的 Cartfile 中。
将 pod 'ShimmerSwift'
添加到您的 Podfile 中。
在 Xcode 11 中,您可以通过转到 File > Swift Packages > Add Package Dependency
来添加包。复制此存储库的 URL 并继续。
Shimmer 非常容易上手。
只需创建一个 ShimmeringView
或 ShimmeringLayer
并添加您的内容。
// Setup ShimmeringView
let shimmerView = ShimmeringView(frame: self.view.bounds)
self.view.addSubview(shimmerView)
// Setup the view you want shimmered
let label = UILabel(frame: shimmerView.bounds)
label.text = "This is my shimmering text"
// Add the view you want shimmered to the `shimmerView`
shimmerView.contentView = label
// Start shimmering
shimmerView.isShimmering = true
// To stop shimmering.
shimmerView.isShimmering = false
所有可自定义的属性都在代码中得到了很好的文档说明,并在下面重现。
要应用 Shimmer 效果的内容视图
contentView: UIView
设置为 true
以启动 Shimmer 动画,设置为 false
以停止。默认为 false
。
isShimmering: Bool
Shimmer 动画的速度,单位为每秒点数。数字越大,动画速度越快。
默认为 230
。
shimmerSpeed: CGFloat
Shimmer 的高光长度。范围为 [0,1],默认为 1.0
。
shimmerHighlightLength: CGFloat
Shimmer 动画的方向。默认为 .right
,这将从左到右运行动画。
shimmerDirection: Shimmer.Direction
Shimmer 效果之间的暂停时间(以秒为单位)。默认为 0.4。
shimmerPauseDuration: CFTimeInterval
在 Shimmer 期间内容的透明度。默认为 0.5
。
shimmerAnimationOpacity: CGFloat
未应用 Shimmer 效果时内容的透明度。默认为 1.0
。
shimmerOpacity: CGFloat
Shimmer 开始时使用的渐变时长。默认为 0.1
。
shimmerBeginFadeDuration: CFTimeInterval
Shimmer 结束时使用的渐变时长。默认为 0.3
。
shimmerEndFadeDuration: CFTimeInterval