用CALayer实现聚光灯效果
效果图:

代码部分:
#import "ViewController.h" @interface ViewController () @property (nonatomic, strong) CALayer *imageLayer;
@property (nonatomic, strong) CALayer *maskViewLayer; @property (nonatomic, strong) UIImage *contentImage;
@property (nonatomic, strong) UIImage *maskViewContentImage; @end @implementation ViewController - (void)viewDidLoad {
[super viewDidLoad]; self.view.backgroundColor = [UIColor blackColor]; self.contentImage = [UIImage imageNamed:@"原始图片"];
self.maskViewContentImage = [UIImage imageNamed:@"maskLayerContents"]; self.imageLayer = [CALayer layer];
self.imageLayer.frame = CGRectMake(, , , );
self.imageLayer.contents = (id)self.contentImage.CGImage; self.maskViewLayer = [CALayer layer];
self.maskViewLayer.frame = CGRectMake(-, -, , );
self.maskViewLayer.contents = (id)self.maskViewContentImage.CGImage; // self.imageLayer的局部区域的显示与否可以通过mask的alpha通道来决定
self.imageLayer.mask = self.maskViewLayer; [self.view.layer addSublayer:self.imageLayer]; } - (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
self.maskViewLayer.frame = self.imageLayer.bounds;
}
github:https://github.com/RinpeChen/maskViewInCALayer
用CALayer实现聚光灯效果的更多相关文章
- WPF实现聚光灯效果
WPF开发者QQ群: 340500857 | 微信群 -> 进入公众号主页 加入组织 前言 效果仿照 CSS聚光灯效果 实现思路: 1. 设置底部Canvas背景色 #222222 . 2. ...
- mask-image实现聚光灯效果
大家好,我是半夏,一个刚刚开始写文的沙雕程序员.如果喜欢我的文章,可以关注 点赞 加我微信:frontendpicker,一起学习交流前端,成为更优秀的工程师-关注公众号:搞前端的半夏,了解更多前端知 ...
- CALayer实现遮罩效果
#import "ViewController.h" @interface ViewController () @property(nonatomic,strong)CALayer ...
- iOS 用CALayer实现动画
与动画有关的几个类的继承关系 涉及到动画的类主要有6个,看一下它们的基本用途: 1. CAAnimation 动画基类 2. CAAnimationGroup 组合多个动画 3. CAPropert ...
- 简单介绍Excel单元格行列指示的实现原理(俗称聚光灯功能)
原始出处:www.cnblogs.com/Charltsing/p/CellLight.html QQ:564955427 Excel单元格行列指示的实现原理(俗称聚光灯功能) 单元格行列指示功能在录 ...
- 搜索菜单栏侧滑效果控件SearchView
搜索菜单栏侧滑效果控件SearchView 本人视频教程系类 iOS中CALayer的使用 效果1: 效果2: 项目中用到的图片 bgImg@2x.png: 源码: SearchView.h + ...
- 使用jQuery仿淘宝商城多格焦点图滚动切换效果
1.效果及功能说明 图片滚动切换特效,高仿2012淘宝商城首页多格子焦点图切换,鼠标滑过焦点图片各个格子区域聚光灯效果展示 2.实现原理 在显示div的下面有一个按钮条在鼠标触及到按钮的时候会改变那妞 ...
- 实现UIView的无限旋转动画(非CALayer动画)
实现UIView的无限旋转动画(非CALayer动画) 效果: 素材: 源码: // // ViewController.m // Animation // // Created by YouXian ...
- [CG编程] 基本光照模型的实现与拓展以及常见光照模型解析
0.前言 这篇文章写于去年的暑假.大二的假期时间多,小组便开发一个手机游戏的项目,开发过程中忙里偷闲地了解了Unity的shader编写,而CG又与shaderLab相似,所以又阅读了<CG教程 ...
随机推荐
- 黑马程序员—C语言的判断语句
------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一.分支结构 结构化程序设计(英语:Structured programming),一种编程范型 ...
- UI基础 - UIScrollView
scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(, , , )]; scrollView.backgroundColor = [ ...
- STM32f103------ADC(DMA)
STM32F10x ADC 技术指标: 分辨率: 12位分辨率 LSB=Vref+ / 2^(12) 转换时间: 采样一次至少14个ADC时钟周期 ,而ADC最高时钟周期为14MHz 选用采样 ...
- (未解决)问题记录ionic android 签名之后安装到手机上点击运行出现闪退,不签名运行正常
Log日志如下: - ::): error opening trace ) - ::): FATAL EXCEPTION: main - ::): java.lang.RuntimeException ...
- perl 分析mysql binlog
binlog 日志格式: use `zjzc`/*!*/; SET TIMESTAMP=1476326343/*!*/; UPDATE `ProductAccess` pa SET pa.access ...
- BZOJ1754: [Usaco2005 qua]Bull Math
1754: [Usaco2005 qua]Bull Math Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 374 Solved: 227[Submit ...
- [Silverlight]常见问题
[Silverlight]常见问题 1. Silverlight项目是否支持ADO.NET对象? 不支持,Silverlight不支持常见的ADO.NET对象,如DataTable,DataSet,D ...
- HDOJ(HDU) 1785 You Are All Excellent(角度运算)
Problem Description 本次集训队共有30多人参加,毫无疑问,你们都是很优秀的,但是由于参赛名额有限,只能选拔部分队员参加省赛.从学校的角度,总是希望选拔出最优秀的18人组成6支队伍来 ...
- R学习日记——分解时间序列(非季节性数据)
分解时间序列,就是将一个时间序列拆分成不同的构成元件.一般序列(非季节性序列)包含一个趋势部分和一个不规则部分(也就是随机部分),而如果是一个季节性序列,除以上两个外,还有季节性部分. 在此,我们 ...
- POJ 2718 穷举
题意:给定一组数字,如0, 1, 2, 4, 6, 7,用这些数字组成两个数,并使这两个数之差最小.求这个最小差.在这个例子上,就是204和176,差为28. 分析:首先可以想到,这两个数必定是用各一 ...