ShimmerSwift
Facebook 的 shimmer 效果的 swift 实现。
✅ 要求
- Swift 5.1+
- iOS 9.0+
👨💻 安装
手动
从本仓库下载 .zip 文件,并将 Shimmer 文件夹拖入您的项目中。
Carthage
将 github "BeauNouvelle/ShimmerSwift"
添加到您的 Cartfile。
CocoaPods
将pod 'ShimmerSwift'
添加到您的 Podfile 中。
SPM
在 Xcode 11 中,您可以通过以下路径添加包:文件 > Swift 包 > 添加包依赖
。复制此仓库的 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
👩🎨 自定义
所有可自定义的属性都在代码中得到了良好的记录,并在下文中重复。
contentView
要闪烁的内容视图
contentView: UIView
isShimmering
设置为 true
以开始闪烁动画,设置为 false
以停止。默认为 false
。
isShimmering: Bool
shimmerSpeed
闪烁动画的速度,以每秒点为单位。数字越高,动画越快。
默认为 230
。
shimmerSpeed: CGFloat
shimmerHighlightLength
闪烁的突出显示长度。范围是 [0,1],默认为 1.0
。
shimmerHighlightLength: CGFloat
shimmerDirection
闪烁动画的方向。默认为 .right
,将从左到右运行动画。
shimmerDirection: Shimmer.Direction
shimmerPauseDuration
两次闪烁之间的时间间隔,以秒为单位。默认为 0.4。
shimmerPauseDuration: CFTimeInterval
闪光动画透明度
闪光效果期间内容的透明度。默认值为 0.5
。
shimmerAnimationOpacity: CGFloat
闪光透明度
非闪光状态时内容的透明度。默认值为 1.0
。
shimmerOpacity: CGFloat
闪光开始淡出时长
闪光开始时使用的淡化时长。默认值为 0.1
。
shimmerBeginFadeDuration: CFTimeInterval
闪光结束淡出时长
闪光结束时使用的淡化时长。默认值为 0.3
。
shimmerEndFadeDuration: CFTimeInterval