【iOS开发-图层】图层的获取与一些属性
2016-04-13 10:03
597 查看
图层
每个控件都有自己的一个图层,这个空间的全部东西就是显示在这个图层上面的,控件本身没有显示东西的功能,仅仅有拥有了图层才干显示东西图层的获取
CALayer *layer = self.testView.layer;
使用UIView的图层为例
UIView本身仅仅有一个图层,主图层self.testView.layer.borderWidth = 10;//设置边框大小 self.testView.layer.borderColor = [UIColor blueColor].CGColor;//设置边框颜色 self.testView.layer.cornerRadius = 10;//设置view的圆角 self.testView.layer.shadowOffset = CGSizeMake(10, 10);//设置阴影。默认黑色透明。后面是阴影偏差(阴影会向哪个方向偏)右下角全正数 self.testView.layer.shadowColor = [UIColor blackColor].CGColor;//给阴影设置颜色 self.testView.layer.shadowOpacity = 0.5;//设置透明度 self.testView.layer.masksToBounds = YES;//设置超出主层的东西会被剪掉。阴影不显示也是这个原因
UIImageView为例圆角实现
UIImageView控件不止一个图层。图片的显示不是在主层中,所以更改主层的边角为原型。并不能改变图片显示层的边角self.imageView.layer.borderWidth = 10;//设置边框宽度大小 self.imageView.layer.borderColor = [UIColor blueColor].CGColor;//设置边框颜色 //设置图层圆角。由于UIImageView有两个图层,图片显示在复层上面, //所以仅仅设置这一个属性不会变为圆角 //要把 masksToBounds属性设置为YES self.imageView.layer.cornerRadius = 10; self.imageView.layer.masksToBounds = YES;//超出主层的内容都会被减掉
关于layer层的旋转,平移,缩放
layer的仅仅能使用3D旋转,平移,缩放self.imageView.layer.transform = CATransform3DMakeRotation(M_PI_4, 1, 0.5, 0);//layer层的旋转,使用3D //控制缩放 使用KVC NSValue *value = [NSValue valueWithCATransform3D:CATransform3DMakeRotation(M_PI_4, 0, 0, 1)]; [self.imageView.layer setValue:value forKeyPath:@"transform"]; //等于上面的两句话 使用KVC [self.imageView.layer setValue:@(M_PI_2) forKeyPath:@"transform.rotation"]; //控件本身的缩放和旋转 self.imageView.transform = CGAffineTransformMakeRotation(M_PI_4); self.imageView.transform = CGAffineTransformMakeScale(1.5, 1.5);
相关文章推荐
- iOS 保持程序在后台持续运行
- iOS开发基础知识:Core Animation(核心动画)
- 【代码笔记】iOS-禁止输入表情符号
- iOS 应用安装失败原因排查
- iOS 基于 MVC 的项目重构总结
- ios颜色设置的三种方式
- iOS 8 Auto Layout界面自动布局系列4-使用VFL添加布局约束
- ios LoadView 方法
- iOS 8 Auto Layout界面自动布局系列3-使用代码添加布局约束
- iOS 本地持久化 "归档"
- iOS _查询所剩内存和所剩存储空间的方法
- iOS开发之 动画CoreAnimation
- iOS编译FFmpeg、kxmovie实现视频播放 (转载)
- 关于NSTimer的认识和简单使用
- iOS技术博文
- iOS学习笔记22-推送通知
- iOS学习笔记22-推送通知
- iOS动画Animation-4-1:CALayer
- 使用ReactiveCocoa实现iOS平台响应式编程
- IOS 应用 分享 扩展