IOS之CALayer基本使用
2016-04-21 23:10
525 查看
自定义视图的layer
(void)myView_CALayer { UIView *myView = [[UIView alloc]initWithFrame:CGRectMake(50, 50, 100, 100)]; [myView setBackgroundColor:[UIColor redColor]]; [self.view addSubview:myView]; // 1) 圆角半径 myView.layer.cornerRadius = 50.0f; // 2) 阴影 // 因为Core Animation是跨平台的,基于QuartzCore框架,是因为UIKit框架,仅能适用于iOS平台 // 在Core Animation中不能使用任何跟UI有关的方法 // 要设置阴影除了颜色之外,还需要指定其他偏移量和透明度参数 // 1> 阴影颜色 [myView.layer setShadowColor:[UIColor lightGrayColor].CGColor]; // 2> 阴影偏移量 [myView.layer setShadowOffset:CGSizeMake(0, 10)]; // 3> 阴影的透明度 [myView.layer setShadowOpacity:1.0f]; // 3) 边框 [myView.layer setBorderColor:[UIColor whiteColor].CGColor]; [myView.layer setBorderWidth:3.0f]; }2.UIImageView的layer
- (void)myImageLayer_CALayer { UIImage *image = [UIImage imageNamed:@"test.png"]; UIImageView *imageView = [[UIImageView alloc]initWithImage:image]; [imageView setFrame:CGRectMake(50, 50, 200, 200)]; [self.view addSubview:imageView]; // 1. 圆角半径 // 提示,在imageView中,图层不止一个,如果要实现圆角效果,需要设置一个遮罩属性 // masksToBounds属性可以让imageView中的所有子图层跟随imageView一起变化 imageView.layer.cornerRadius = 50.0f; [imageView.layer setMasksToBounds:YES]; // 2. 阴影 // 提示,如果设置了masksToBounds属性,imageView的阴影效果无效 [imageView.layer setShadowColor:[UIColor redColor].CGColor]; [imageView.layer setShadowOffset:CGSizeMake(10.0, 10.0)]; [imageView.layer setShadowOpacity:1.0]; // 3. 边框 [imageView.layer setBorderColor:[UIColor blueColor].CGColor]; [imageView.layer setBorderWidth:3.0f]; // 4. 形变属性,在CALayer中的形变属性是3D的,不再是2D的 // 提示,形变参数使用set方法时,只能应用一种形变 // 1> 平移属性(向上移动100个点) // [imageView.layer setTransform:CATransform3DMakeTranslation(0, -100, 0)]; // // 2> 缩放属性 // [imageView.layer setTransform:CATransform3DMakeScale(0.5, 1.0, 1.0)]; // // 3> 旋转属性 // // 提示:通常在旋转时指定z轴即可,要延哪个轴旋转,指定一个数值1.0即可 // // 图像本身没有厚度,如果按照x或y旋转90度,图像是不可见的。 // [imageView.layer setTransform:CATransform3DMakeRotation(M_PI_2, 0, 0, 1.0)]; }
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- 讲解iOS开发中基本的定位功能实现
- iOS中定位当前位置坐标及转换为火星坐标的方法
- js判断客户端是iOS还是Android等移动终端的方法
- iOS应用中UISearchDisplayController搜索效果的用法
- IOS开发环境windows化攻略
- iOS应用中UITableView左滑自定义选项及批量删除的实现
- 浅析iOS应用开发中线程间的通信与线程安全问题
- 检测iOS设备是否越狱的方法
- .net平台推送ios消息的实现方法
- 探讨Android与iOS,我们将何去何从?
- Android、iOS和Windows Phone中的推送技术详解
- iOS推送的那些事
- IOS 改变键盘颜色代码