Ios 如何向UIExtView或UILabel添加幻灯片以解锁效果?
我有一个大的文本,想添加一个类似于幻灯片的效果来解锁一个最新的iOS,它将随着文本从下到上滑动而从上到下移动。我建议您使用Grant Pauls的Shimmer控件,因为它正是这样做的 使用快速闪烁标签、视图等进行更新Ios 如何向UIExtView或UILabel添加幻灯片以解锁效果?,ios,Ios,我有一个大的文本,想添加一个类似于幻灯片的效果来解锁一个最新的iOS,它将随着文本从下到上滑动而从上到下移动。我建议您使用Grant Pauls的Shimmer控件,因为它正是这样做的 使用快速闪烁标签、视图等进行更新 这与iPhone的滑动解锁效果不同,它有椭圆形或菱形的效果。你能推荐比这更好的东西吗?Finn Gaida给我你的id,我会给你发送代码,我正在寻找但没有得到正确的代码。这是添加微光的完美解决方案。谢谢除了Swift之外,有没有其他框架可以实现同样的效果? import UI
这与iPhone的滑动解锁效果不同,它有椭圆形或菱形的效果。你能推荐比这更好的东西吗?Finn Gaida给我你的id,我会给你发送代码,我正在寻找但没有得到正确的代码。这是添加微光的完美解决方案。谢谢除了Swift之外,有没有其他框架可以实现同样的效果?
import UIKit
import QuartzCore
class ViewController: UIViewController {
@IBOutlet var testLabel: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
self.testLabel.startShimmering()
}
}
extension UIView {
func startShimmering() {
// let light = UIColor.init(white: 0, alpha: 0.1).cgColor
let light = UIColor(red: 0, green: 0, blue: 0, alpha: 0.1).cgColor
let dark = UIColor.black.cgColor
let gradient: CAGradientLayer = CAGradientLayer()
gradient.colors = [dark, light, dark]
gradient.frame = CGRect(x: -self.bounds.size.width, y: 0, width: 3*self.bounds.size.width, height: self.bounds.size.height)
gradient.startPoint = CGPoint(x: 0.0, y: 0.5)
gradient.endPoint = CGPoint(x: 1.0, y: 0.525)
gradient.locations = [0.4, 0.5, 0.6]
self.layer.mask = gradient
let animation: CABasicAnimation = CABasicAnimation(keyPath: "locations")
animation.fromValue = [0.0, 0.1, 0.2]
animation.toValue = [0.8, 0.9, 1.0]
animation.duration = 1.5
animation.repeatCount = HUGE
gradient.add(animation, forKey: "shimmer")
}
func stopShimmering() {
self.layer.mask = nil
}
}