如何给UITextView或UILabel添加滑动解锁效果?

8

我有一段很长的文本,想要添加一个类似于最新iOS上的滑动解锁效果,它将从顶部到底部滑动,文本则从底部向上滑动。

2个回答

14

使用Swift Shimmering标签和视图等进行更新...

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
    }

}

6

1
这并不完全像iPhone的滑动解锁效果,那个有椭圆形或菱形效果。 - Ravi Gupta
嘿,你能否推荐比这更好的东西? - Ravi Gupta
Finn Gaida,请给我你的ID,我会把代码发给你。我现在需要的是确切的东西,但是我没有正确地得到它。 - Ravi Gupta
只是添加闪光的完美解决方案。谢谢! - Hyder
1
有没有任何框架可以实现相同的效果,但是适用于Swift? - SteBra
@SteBra - 你可以在Swift中使用它。 - Istvan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接