iOS解锁界面的"滑动来解锁"闪烁动画效果

今天在github上看到个库,facebook搞的,非常简单的API就能完成你们看到的效果:每天解锁iPhone,看到底部“滑动来解锁”这个效果:

示例DEMO:

先导入#import "FBShimmeringView.h"类:

- (void)viewDidLoad {
    [super viewDidLoad];
    
    //生成FBShimmeringView对象
    FBShimmeringView *view1 = [[FBShimmeringView alloc] initWithFrame:CGRectMake(100, 20, 300, 100)];
    view1.shimmering = YES; //闪烁效果
    view1.shimmeringOpacity = 1; //闪烁视图透明度
    view1.shimmeringDirection = FBShimmerDirectionRight;//闪烁动画方向
    view1.shimmeringBeginFadeDuration = .5;//持续时间
    view1.shimmeringPauseDuration = 0.6;//闪烁暂停时间
    view1.shimmeringAnimationOpacity = .1;//闪烁动画时透明度
    view1.shimmeringSpeed = 200;//闪烁速度
    [self.view addSubview:view1];

    UILabel *label = [[UILabel alloc] initWithFrame:view1.frame];
    label.text = @"》滑 动 解 锁 》";
    label.textAlignment = NSTextAlignmentCenter;
    label.font = [UIFont boldSystemFontOfSize:20];
    label.textColor = [UIColor blackColor];
    label.backgroundColor = [UIColor whiteColor];
    view1.contentView = label;

}

给大家加了所有字段的中文解释,自己测试出来的,可能会有写错误,(借鉴)
 

//! @abstract Set this to YES to start shimming and NO to stop. Defaults to NO.
    //是否闪烁
    //@property (nonatomic, assign, readwrite, getter = isShimmering) BOOL shimmering;
    
    //!@abstract The time interval between shimmerings in seconds. Defaults to 0.4.
    //两次闪烁之间的间隔
    //@property (assign, nonatomic, readwrite) CFTimeInterval shimmeringPauseDuration;
    
    //!@abstract The opacity of the content while it is shimmering. Defaults to 1.0.
    //闪烁时动画的透明度 1.0就是原始亮度   0-1之间随意选择
    //@property (assign, nonatomic, readwrite) CGFloat shimmeringAnimationOpacity;
    
    //!@abstract The opacity of the content before it is shimmering. Defaults to 0.5.
    //闪烁前的透明度,例如默认0.5,那么和上面那个参数对比下,就是0.5-1之间闪烁
    //@property (assign, nonatomic, readwrite) CGFloat shimmeringOpacity;
    
    //!@abstract The speed of shimmering, in points per second. Defaults to 230.
    //闪烁的速度
    //@property (assign, nonatomic, readwrite) CGFloat shimmeringSpeed;
    
    //!@abstract The highlight length of shimmering. Range of [0,1], defaults to 0.33.
    //闪烁过去的时候那条线的宽度 0 - 1之间的浮点数切换
    //@property (assign, nonatomic, readwrite) CGFloat shimmeringHighlightLength;
    
    //!@abstract @deprecated Same as "shimmeringHighlightLength", just for downward compatibility
    //和上面类似
    //@property (assign, nonatomic, readwrite, getter = shimmeringHighlightLength, setter = setShimmeringHighlightLength:) CGFloat shimmeringHighlightWidth;
    
    //!@abstract The direction of shimmering animation. Defaults to FBShimmerDirectionRight.
    //闪烁的方向,这个枚举有上下左右四个方向
    //@property (assign, nonatomic, readwrite) FBShimmerDirection shimmeringDirection;
    
    //!@abstract The duration of the fade used when shimmer begins. Defaults to 0.1.
    //开始闪烁的时间间隔
    //@property (assign, nonatomic, readwrite) CFTimeInterval shimmeringBeginFadeDuration;
    
    //!@abstract The duration of the fade used when shimmer ends. Defaults to 0.3.
    //结束闪烁的时间间隔
    //@property (assign, nonatomic, readwrite) CFTimeInterval shimmeringEndFadeDuration;
    
    /**
     @abstract The absolute CoreAnimation media time when the shimmer will fade in.
     @discussion Only valid after setting {@ref shimmering} to NO.
     */
    //闪烁到shimmeringAnimationOpacity的时候fade需要多久
    //@property (assign, nonatomic, readonly) CFTimeInterval shimmeringFadeTime;


    

各自属性的默认值是这样的,需要的请自行修改即可

[o
  1. - (instancetype)init  
  2. {  
  3.   self = [super init];  
  4.   if (nil != self) {  
  5.     // default configuration  
  6.     _shimmeringPauseDuration = 0.4;  
  7.     _shimmeringSpeed = 230.0;  
  8.     _shimmeringHighlightLength = 1.0;  
  9.     _shimmeringAnimationOpacity = 0.5;  
  10.     _shimmeringOpacity = 1.0;  
  11.     _shimmeringDirection = FBShimmerDirectionRight;  
  12.     _shimmeringBeginFadeDuration = 0.1;  
  13.     _shimmeringEndFadeDuration = 0.3;  
  14.   }  
  15.   return self;  
  16. }

就这么简单,设置自己喜欢的属性就好了,跑起来看看,效果已经给大家配好了,也可以自行尝试,肯定很酷炫

参考资料: iOS之iPhone解锁界面的"滑动来解锁"闪烁动画效果,好奇的赶紧进来取走,别看了,说的就是你0.0

FBShimmering的gitHub地址

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
闪烁的文字,多种闪烁效果 https://github.com/Zws-China/WSShiningLabel WSShiningLabel *label1 = [[WSShiningLabel alloc] init]; label1.frame = CGRectMake(50, 35, 200, 25); label1.text = @"当保护你的她"; label1.textColor = [UIColor grayColor]; label1.font = [UIFont systemFontOfSize:20]; [label1 startShimmer]; // 开启闪烁 [self.view addSubview:label1]; WSShiningLabel *label2 = [[WSShiningLabel alloc] init]; label2.frame = CGRectMake(50, 105, 200, 25); label2.text = @"变成要你保护的她"; label2.textColor = [UIColor grayColor]; label2.font = [UIFont systemFontOfSize:20]; label2.shimmerType = ST_RightToLeft; // 滚动方向 right to left label2.durationTime = 1; // 滚动时间 label2.shimmerColor = [UIColor orangeColor]; // 高亮颜色 [label2 startShimmer]; // 开启闪烁 [self.view addSubview:label2]; WSShiningLabel *label3 = [[WSShiningLabel alloc] init]; label3.frame = CGRectMake(50, 175, 200, 25); label3.text = @"当你远离了家"; label3.textColor = [UIColor grayColor]; label3.font = [UIFont systemFontOfSize:20]; label3.shimmerType = ST_AutoReverse; // 滚动方向 左右来回 label3.shimmerWidth = 20; // 高亮的宽度 label3.shimmerRadius = 20; // 阴影的宽度 label3.shimmerColor = [UIColor yellowColor]; // 高亮颜色 [label3 startShimmer]; // 开启闪烁 [self.view addSubview:label3]; WSShiningLabel *label4 = [[WSShiningLabel alloc] init]; label4.frame = CGRectMake(50, 245, 200, 25); label4.text = @"努力有了你爱的她"; label4.textColor = [UIColor grayColor]; label4.font = [UIFont systemFontOfSize:20]; label4.shimmerType = ST_ShimmerAll; // 闪烁 label4.durationTime = 0.8; label4.shimmerColor = [UIColor redColor]; [label4 startShimmer]; [self.view addSubview:label4];

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值