iOS 闪光的按钮,流光动画,iPhone经典滑动解锁动画
做一个类似于iPhone经典滑动解锁动画的发光按钮(流光)代码如下
//device screen size
#define kScreenWidth [[UIScreen mainScreen] bounds].size.width
#define kScreenHeight [[UIScreen mainScreen] bounds].size.height
#define RGB(r, g, b) [UIColor colorWithRed:r/255.0 green:g/255.0 blue:b/255.0 alpha:1]
#define RGBA(r, g, b, a) [UIColor colorWithRed:r/255.0 green:g/255.0 blue:b/255.0 alpha:a]
#define kColorTextDarkGray RGB(100,100,100) //稍深的灰色字体
#import "ViewController.h"
@interface ViewController ()
@property(nonatomic,strong) CAGradientLayer *gradientLayer;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
[self initView];
}
-(void)initView{
UIView *tempView = [UIView new];
[self.view addSubview:tempView];
tempView.backgroundColor = [UIColor grayColor];
tempView.frame = CGRectMake(16, 60, kScreenWidth-32, 44);
UILabel *skipLabel = [[UILabel alloc] init];
skipLabel.font = [UIFont systemFontOfSize:18];
skipLabel.text = @"跳过 > ";
skipLabel.textAlignment = NSTextAlignmentCenter;
skipLabel.textColor = kColorTextDarkGray;
// skipLabel.backgroundColor = [UIColor greenColor];
skipLabel.frame = tempView.bounds;
[tempView addSubview:skipLabel];
CAGradientLayer *gradientLayer = [[CAGradientLayer alloc] init];
self.gradientLayer = gradientLayer;
gradientLayer.bounds = skipLabel.bounds;
gradientLayer.position = skipLabel.center;
gradientLayer.startPoint = CGPointMake(0, 0.5);
gradientLayer.endPoint = CGPointMake(1, 0.5);
NSMutableArray *colors = [NSMutableArray array];
[colors addObject:(id)[UIColor blackColor].CGColor];
[colors addObject:(id)[UIColor whiteColor].CGColor];
[colors addObject:(id)[UIColor blackColor].CGColor];
gradientLayer.colors = colors;
gradientLayer.locations = @[@0.2, @0.5, @0.8];
[tempView.layer addSublayer:gradientLayer];
CABasicAnimation *anim = [CABasicAnimation animationWithKeyPath:@"locations"];
anim.fromValue = @[@0, @0, @0.3];
anim.toValue = @[@0.7,@1,@1];
anim.duration = 1.5;
anim.repeatCount = HUGE;
anim.removedOnCompletion = NO;
[gradientLayer addAnimation:anim forKey:nil];
gradientLayer.mask = skipLabel.layer;
gradientLayer.masksToBounds = YES;
UIButton *skipBtn = [[UIButton alloc] init];
skipBtn.backgroundColor = [UIColor clearColor];
[skipBtn addTarget:self action:@selector(skipBtnClicked) forControlEvents:UIControlEventTouchUpInside];
[tempView addSubview:skipBtn];
skipBtn.frame = tempView.bounds;
}
-(void)skipBtnClicked{
NSLog(@"---点击我了---");
}
iOS 闪光的按钮,流光动画,iPhone经典滑动解锁动画相关推荐
- iPhone不能滑动解锁了怎么办?iPhone滑动解锁失灵解决方法
iPhone 用的时间一长,滑动可能会失灵,怎么办呢? iPhone 百科网小编这里就为大家总结iPhone滑动失灵解决方案. 1.手机不要放裤兜,放上衣口袋或使用手机套. 2.如果非要放裤兜,那就不 ...
- html实现滑动解锁_HTML5 滑动解锁动画
JavaScript 语言: JaveScriptBabelCoffeeScript 确定 var inputRange = document.getElementsByClassName('pull ...
- flash一个按钮控制动画_flutter闪屏过渡动画,闪光占位动画
在程序设计的理念中,讲究一切都来源于物理世界,在现实世界中,人们在每接触到一个新的事物或者说在手指触碰到一个事物时,总是心里默许期望有一个反馈效果,这就是来源于心底深处常常被人忽略的一个潜在期望. 在 ...
- html流光按钮,【CSS】css实现流光效果-按钮流光显示效果-自发光
[CSS]css实现流光效果-按钮流光显示效果-自发光 [CSS]css实现流光效果-按钮流光显示效果-自发光 废话不多说,直接上代码 Streamer * { padding: 0; margin: ...
- iphone计算机怎样打开声音,8个iOS必知小技巧!iPhone的声音还可以调更大哦!
原标题:8个iOS必知小技巧!iPhone的声音还可以调更大哦! 用了 iPhone 这么久,你到底有多了解它呢?所有的功能你都用到了吗?今天大妈给乃们推荐的这篇文章就介绍了8个iOS的小技巧.你知道 ...
- html5 css3鼠标滑过效果,纯CSS3鼠标滑过按钮流光效果
这是一款效果非常炫酷的纯CSS3鼠标滑过按钮流光效果.当用户用鼠标滑过按钮的时候,一道流光会瞬间滑过按钮,就像玻璃的反光效果,非常漂亮. 使用方法 HTML结构 该效果中的按钮是一个超链接元素. Li ...
- iOS 动画原理与实现--帧动画、逐帧动画、CALayer
这篇文章不会教大家如何实现一个具体的动画效果,我会从动画的本质出发,来说说 iOS 动画的原理与实现方式. 什么是动画 动画,顾名思义,就是能"动"的画. 人的眼睛对图像有短暂的记 ...
- 小y的放松时刻-0003:按钮流光效果
小y的放松时刻-0003:按钮流光效果 内容简介 原链接 效果展示 代码 内容简介 这是小y学习css.js的记录和分享. 绝大部分内容将会是非原创,侵删. 原链接 https://blog.csdn ...
- 使用css + 部分js制作按钮流光特效
制作一个按钮流光特效,其核心就在于规律的动画的执行, 让我们先看看效果吧 鼠标移入会出现颜色循环流动效果. html部分(就是一个简单的a标签) <a href="#"> ...
最新文章
- 获取个人借阅信息---图书馆client
- wpf开发仿真3d软件_web 3d 与仿真
- 聊聊如何构建一支自驱团队(一)
- sqlserver实现分页的几种方式
- java 循环stringbuffer_java常用类-----StringBuilder和StringBuffer的用法
- 常见面试算法:决策树、随机森林和AdaBoost
- 四张照片合成一张怎么弄_教你5种照片创意手工,简单好看实用
- CentOS7 网络配置--NAT模式
- word java api_Java中的Word文档创建API
- 基于RiskPariyBlackLitterman的因子择时
- 分水岭算法(学习笔记)
- 5月全球CTF比赛时间汇总来了!
- java商品管理系统
- Mysql中的常用类型 说明
- 地标海之珠夜色素材高清图片
- CentOS7下MySQL服务启动失败原因及解决方法
- 使用Java集合实现麻将(准备牌、洗牌、发牌、看牌)
- KTIT:知识技术和信息技术
- 高压功率放大器ATA4014VS高压功率放大器HSA42014
- 景联文科技:为自动驾驶车载语音识别技术提供全方面的数据支持
热门文章
- 七彩cms云转码_七彩CMS开源程序 2019最新云转码全开源程序源码[带完整安装搭建教程]...
- mysql连接不上 显示密码错误,mysql输入正确密码连接不上怎么办
- 解决Webstorm通过Chrome无法调用JB插件调试的问题
- 中信易卡,你值得搬砖吗?
- Firmament - 大规模集群任务调度
- 管理就是通过别人完成任务,别怕员工犯错
- 根据空间中不共面的四个点坐标,求构成任意四面体的内外球
- 浙江大学MEM面试小结
- 附件三:防守方评分标准.docx
- 2022DASCTF Apr X FATE 防疫挑战赛 good_luck