ios解锁动态图片_iOS 苹果开机启动的 滑动来解锁动画
所有复杂动画都是由简单动画组合而成的
swift和oc demo
滑动来解锁
动画细节拆分:
1.使用CAGradientLayer处理颜色渐变
-(CAGradientLayer *)gradientLayer{
if (!_gradientLayer) {
_gradientLayer = [CAGradientLayer layer];
_gradientLayer.frame = CGRectMake(-self.bounds.size.width, self.bounds.origin.y, 3
* self.bounds.size.width, self.bounds.size.height);
_gradientLayer.startPoint = CGPointMake(0, 0.5);
_gradientLayer.endPoint = CGPointMake(1.0, 0.5);
_gradientLayer.colors = @[
(__bridge id)[UIColor blackColor].CGColor,
(__bridge id)[UIColor whiteColor].CGColor,
(__bridge id)[UIColor blackColor].CGColor
];
_gradientLayer.locations = @[@0.25,@0.5,@0.75];
}
return _gradientLayer;
}
渐变
2.使用CABasicAnimation为CAGradientLayer添加动画
//添加动画
-(void)animationWithGradientLayer{
CABasicAnimation *gradientAnimation = [CABasicAnimation animationWithKeyPath:@"locations"];
gradientAnimation.fromValue = @[@0.0,@0.0,@0.25];
gradientAnimation.toValue = @[@0.75,@1.0,@1.0];
gradientAnimation.duration = 3.0;
gradientAnimation.repeatCount = MAXFLOAT;
[self.gradientLayer addAnimation:gradientAnimation forKey:nil];
}
滑动来解锁2.gif
3.将文字生成图片,设置gradientLayer的mask属性为图片,裁剪掉文字以外的部分
//文字生成图片
UIGraphicsBeginImageContext(self.bounds.size);
NSMutableDictionary *dict = [NSMutableDictionary dictionary];
dict[NSForegroundColorAttributeName] = [UIColor redColor];
dict[NSFontAttributeName] = [UIFont systemFontOfSize:30.0];
[_text drawInRect:self.bounds withAttributes:@{NSForegroundColorAttributeName: [UIColor redColor],NSFontAttributeName:[UIFont systemFontOfSize:30.0]}];
CGContextRef context= UIGraphicsGetCurrentContext ();
CGContextDrawPath (context, kCGPathStroke );
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
CALayer *maskLayer = [CALayer layer];
maskLayer.backgroundColor = [UIColor clearColor].CGColor;
maskLayer.frame = CGRectOffset(self.bounds, self.bounds.size.width, 0);
maskLayer.contents = (__bridge id _Nullable)(image.CGImage);
//使用蒙版裁剪掉没用的区域
self.gradientLayer.mask = maskLayer;
ios解锁动态图片_iOS 苹果开机启动的 滑动来解锁动画相关推荐
- ios解锁动态图片_iPhone不越狱如何设置酷炫的动态锁屏壁纸
原标题:iPhone不越狱如何设置酷炫的动态锁屏壁纸 果粉学堂 在大安卓几百年前就可以实现的动态锁屏功能,iPhone才姗姗来迟,这不得不说苹果的系统,对于安卓用户来说,这个已经用烂了的功能在苹果上还 ...
- ios解锁动态图片_升级iOS10后的解锁界面 正确的打开方式是这样!(图)
刚升级到iOS 10的小伙伴最直观的感受可能就是锁屏界面的改变了.从前只要按下电源键点亮屏幕,手指轻触Home键(不需要按下)就能轻松解锁手机.而现在点亮之后则必须按下Home键才行(广大非iPhon ...
- ios解锁动态图片_很想知道iPhone上锁屏上动态壁纸的技巧
如果您播放音乐,则可以使用 MPNowPlayingInfoCenter(iOS 5.0及更高版本中可用)在锁定屏幕上设置封面,标题和艺术家等内容.您的代码可能如下所示: NSMutableDicti ...
- ios解锁动态图片_iPhone6s导入自制Live Photo动态锁屏图教程(无需越狱)[多图]
iPhone6s导入Live Photo动态锁屏图教程. 首先: 1.此方法仅针对6S/6S PLUS,6/6plus/5S/5C/5/4S/4系列均不支持3D Touch,所以别压屏幕了!哎哎哎,那 ...
- ios wkweb设置图片_iOS 之 WKWebView自适应高度获取网络图片
WKWebView是iOS8中引入的新组建,苹果将 UIWebViewDelegate 与 UIWebView 重构成了14个类和3个协议并引入了不少新的功能和接口,它代替了UIKit 中的 UIWe ...
- iOS APP项目图片尺寸大全(启动页、icon、App Store展示图片)
iOS项目开发中需要用到很多的项目图片其中启动页.icon.App Store展示图等的尺寸较多一下我会汇总出来各种尺寸 1.启动页尺寸 以上红圈里面是首页版APP启动页的尺寸大全,iPad不需要支持 ...
- linux改开机图片,修改linux开机启动图像
Linux字符界面切换到图形界面 由字符界面切换到图形界面可用两种简单方法实现: 1.在字符界面 LINUX 启动logo 总结 最近在imx6上需要调试linux下启动logo.其实linux启动l ...
- ios wkweb设置图片_iOS WKWebView (NSURLProtocol)拦截js、css,图片资源
项目地址github:HybirdWKWebVIew HybridNSURLProtocol 一个基于WKWebView的hybirde的容器.能拦截所有WKWKWebView的的css,js,png ...
- ios wkweb设置图片_iOS WKWebView的使用
WKWebView的使用 前言 最近项目中的UIWebView被替换为了WKWebView,因此来总结一下. 示例Demo:WKWebView的使用 本文将从以下几方面介绍WKWebView: 1.W ...
最新文章
- [LeetCode 120] - 三角形(Triangle)
- Python中urllib2总结
- cisco switch命令大全
- (4)javascript的运算符以及运算符的优先级
- protoc文件生成cs文件
- C++系列总结——构造与析构
- [转]linux(centos)搭建SVN服务器
- Linux shell脚本基础学习详细介绍(完整版)
- 433M无线串口E30-TTL-100在农业物联网上的应用
- Atcoder ARC101 E 树dp
- opensource项目_最佳Opensource.com:法律
- 函数平移口诀_初三二次函数平移规律的口诀
- 具体解决VS“滴答数必须介于 DateTime.MinValue.Ticks 和 DateTime.MaxValue.Ticks 之间”奇怪问题...
- 专题:Web App与Native App技术点大整合
- Ps 初学者教程,如何在图片中创造双色效果?
- SAP 创始人:打造“一连串的应用程序”
- 搭建Windows下基于Eclipse 的 PHP 开发环境
- dnsever 邮件记录
- 电容触摸按键实验(STM32F407)
- IDEA中使用Git,文件不同颜色代表的含义
热门文章
- 为什么 SAP 电商云 Spartacus UI SSR 模式下的客户端应用,不会发起 product 请求
- SAP 电商云 Spartacus UI delivery mode 页面设计的结构分析
- Linux Boot,Kernel 和 Service 介绍
- 关于问题 SAP ABAP ME2O 事物码如何(是否可以)打印发货单?如何自己找到答案
- Ngrx Store实现源代码的MemoizedSelector学习笔记
- 外部系统调用PO的webservice服务,往SAP系统发送数据,用的XISOAPAdapter的方式,出现错误
- SAP Spartacus activeBaseSite的设置逻辑
- Angular应用的index.html
- Spring 自动装配模式之构造函数装配方式
- 80行JavaScript代码实现的贪食蛇游戏,简约之美