[iOS] 仿facebook的闪烁Label,很简单

最终效果

最终就是要实现这样的效果


[iOS] 仿facebook的闪烁Label,很简单_第1张图片
pic.gif

偶然在 github 上看到 facebook 有个这样的 label,于是想着我也山寨一个吧
我要做个闪光字体,支持多种闪光模式的shimmer label

思路很简单的
下面一个灰色的 grayLabel
上面一个白色的高亮 whiteLabel
还有一个渐变的 CAGradientLayer *gLayer(用法网上非常多,可以去看看)
然后给 gLayer 上个渐变色
然后一句话 whiteLabel.layer.mask = gLayer 就实现高亮了
左右滑动就给 gLayer 加个平移动画就 ok 了,很简单吧

思路拓展
layer 有个 mask 蒙版属性,只要有 layer 的都可以做闪烁效果!!
比如 imageView.layer 等等等等

最后我封装了一个 UILabel 的闪烁文字,一行代码就开启闪烁了,和 facebook 的效果一样,还可以自定义多种样式。
例如:

    self.label1 = [[CKShimmerLabel alloc] init];
    self.label1.text = @"hello world 1";
    [self.label1 startShimmer];                 // 开启闪烁

一些可以修改的属性:

ShimmerType shimmerType;          // 闪烁类型,默认LeftToRight
BOOL repeat;                      // 循环播放,默认是
CGFloat shimmerWidth;             // 闪烁宽度,默认20
CGFloat shimmerRadius;            // 闪烁半径,默认20
UIColor *shimmerColor;            // 闪烁颜色,默认白
NSTimeInterval durationTime;      // 持续时间,默认2秒

// 直接 self.label1.shimmerColor = [UIColor yellowColor]; 就可以修改颜色

想要看代码的可以在这里下载到:

有bug可以反馈给我哦

你可能感兴趣的:([iOS] 仿facebook的闪烁Label,很简单)