博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
IOS实现图片倒影效果
阅读量:1854 次
发布时间:2019-04-26

本文共 1506 字,大约阅读时间需要 5 分钟。

  1. #import <QuartzCore/QuartzCore.h>  
  2. - (void)viewDidLoad  
  3. {  
  4.     [super viewDidLoad];  
  5.   
  6.       
  7.     [[[self view] layer] setBackgroundColor:[[UIColor blackColor] CGColor]];   
  8.       
  9.     UIImage *balloon = [UIImage imageNamed:@"app3.png"];  
  10.       
  11.     //图片层  
  12.       
  13.     CALayer *topLayer = [[CALayer alloc] init];   
  14.       
  15.     [topLayer setBounds:CGRectMake(0.0f, 0.0f, 320-100.0240-100)];   
  16.       
  17.     [topLayer setPosition:CGPointMake(160.0f, 120.0f)];   
  18.       
  19.     [topLayer setContents:(id)[balloon CGImage]];  
  20.       
  21.     [[[self view] layer] addSublayer:topLayer];  
  22.       
  23.     //图片阴影层  
  24.       
  25.     CALayer *reflectionLayer = [[CALayer alloc] init];   
  26.       
  27.     [reflectionLayer setBounds:CGRectMake(0.0f, 0.0f, 320.0-100240.0-100)];   
  28.       
  29.     [reflectionLayer setPosition:CGPointMake(160.0f, 310.0f-100)];  
  30.       
  31.     [reflectionLayer setContents:[topLayer contents]];  
  32.       
  33.     [reflectionLayer setValue:[NSNumber numberWithFloat:180.0] forKeyPath:@"transform.rotation.x"];  
  34.       
  35.     //渐变层  
  36.       
  37.     CAGradientLayer *gradientLayer = [[CAGradientLayer alloc] init];   
  38.       
  39.     [gradientLayer setBounds:[reflectionLayer bounds]];   
  40.       
  41.     [gradientLayer setPosition:CGPointMake([reflectionLayer bounds].size.width/2, [reflectionLayer bounds].size.height/2)];  
  42.       
  43.     [gradientLayer setColors:[NSArray arrayWithObjects: (id)[[UIColor clearColor] CGColor],(id)[[UIColor blackColor] CGColor], nil]];  
  44.       
  45.     [gradientLayer setStartPoint:CGPointMake(0.5,0.35)];   
  46.       
  47.     [gradientLayer setEndPoint:CGPointMake(0.5,1.0)];  
  48.       
  49.     [reflectionLayer setMask:gradientLayer];  
  50.       
  51.     [[[self view] layer] addSublayer:reflectionLayer];  
  52.     // Do any additional setup after loading the view, typically from a nib.  
  53. }  
转载自 http://blog.csdn.net/zhibudefeng/article/details/7677239
你可能感兴趣的文章
2G退网百天倒计时,汽车定位器NB-IOT or LTE CAT1,芯片 or 模组,来自e老板的选择!
查看>>
CAT1最大的优势,它是4G!
查看>>
eSIM终于来临,它将如何助力IoT的发展?
查看>>
Cat.1将承接蜂窝中速率占比达30%的庞大市场
查看>>
以NB-IoT为代表的移动物联网是未来5G物联网战略的重要组成部分
查看>>
物联网常用天线,按照使用场景分类,主要有哪些?
查看>>
NB-IoT+GNSS经典应用领域总结
查看>>
关于物联网卡机卡绑定
查看>>
华大HC32-(04)-微秒级us延时测试
查看>>
华大HC32-(05)-定时器输入捕获
查看>>
Source Insight-设置相对路径
查看>>
基于毫米波感知的手势识别
查看>>
基于毫米波感知的手势控制拍照
查看>>
基于毫米波的远距离手势识别
查看>>
zigbee菜鸟笔记(一)zigbee的基础知识
查看>>
zigbee菜鸟笔记(二)建立第一个裸机的IAR工程
查看>>
zigbee菜鸟笔记(三)基础实验点亮led灯
查看>>
zigbee菜鸟笔记(四)基础实验检测按键输入
查看>>
zigbee时钟源的选择与切换 From zigbee菜鸟笔记(五)
查看>>
zigbee串口中断 From zigbee菜鸟笔记(七)
查看>>