iOS CALayer的简单使用
2015-05-31 22:47
489 查看
CALayer 是iOS的一个核心类
1. 每个UIView 都有 CALayer,即 UIView.layer,同时 UIView是iOS系统中界面元素的基础,所有的界面元素都是继承自它,所以,CALayer 应用很广泛
2. CALayer 能够对 UIView 做许多设定,如:阴影、边框、圆角和透明效果等,且这些设定都是很有用的
CALayer 的一些重要属性:
1. shadowPath : 设置 CALayer 背景(shodow)的位置
2. shadowOffset : shadow 在 X 和 Y 轴 上延伸的方向,即 shadow 的大小
3. shadowOpacity : shadow 的透明效果
4. shadowRadius : shadow 的渐变距离,从外围开始,往里渐变 shadowRadius 距离
5. masksToBounds : 很重要的属性,可以用此属性来防止子元素大小溢出父元素,如若防止溢出,请设为 true
6. borderWidth 和 boarderColor : 边框颜色和宽度,很常用
7. bounds : 对于我来说比较难的一个属性,测了半天也没完全了解,只知道可以用来控制 UIView 的大小,但是不能控制 位置
8. opacity : UIView 的透明效果
9. cornerRadius : UIView 的圆角
1. 每个UIView 都有 CALayer,即 UIView.layer,同时 UIView是iOS系统中界面元素的基础,所有的界面元素都是继承自它,所以,CALayer 应用很广泛
2. CALayer 能够对 UIView 做许多设定,如:阴影、边框、圆角和透明效果等,且这些设定都是很有用的
CALayer 的一些重要属性:
1. shadowPath : 设置 CALayer 背景(shodow)的位置
2. shadowOffset : shadow 在 X 和 Y 轴 上延伸的方向,即 shadow 的大小
3. shadowOpacity : shadow 的透明效果
4. shadowRadius : shadow 的渐变距离,从外围开始,往里渐变 shadowRadius 距离
5. masksToBounds : 很重要的属性,可以用此属性来防止子元素大小溢出父元素,如若防止溢出,请设为 true
6. borderWidth 和 boarderColor : 边框颜色和宽度,很常用
7. bounds : 对于我来说比较难的一个属性,测了半天也没完全了解,只知道可以用来控制 UIView 的大小,但是不能控制 位置
8. opacity : UIView 的透明效果
9. cornerRadius : UIView 的圆角
- (void)viewDidLoad { [super viewDidLoad]; UIView *viewSample = [[UIView alloc] init]; [self.view addSubview:viewSample]; viewSample.backgroundColor = [UIColor greenColor]; viewSample.frame = CGRectMake(100, 100, 400, 400); //Test 1 阴影 //viewSample.layer.shadowPath = [UIBezierPath bezierPathWithRect:viewSample.bounds].CGPath; viewSample.layer.shadowPath = [UIBezierPath bezierPathWithRect:CGRectMake(0, 0, 400, 400)].CGPath; viewSample.layer.masksToBounds = NO; viewSample.layer.shadowOffset = CGSizeMake(10, 10); viewSample.layer.shadowRadius = 5; viewSample.layer.shadowOpacity = 0.5; //Test 2 边框 viewSample.layer.borderWidth = 2; viewSample.layer.borderColor = [[UIColor redColor] CGColor]; //Test 3 masksToBounds UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(0,0, 500, 500)]; btn.backgroundColor = [UIColor lightGrayColor]; //[viewSample addSubview:btn]; //viewSample.layer.masksToBounds = true; //Test 4 bounds //viewSample.layer.bounds = CGRectMake(200, 200, 500, 500); //Test 5 viewSample.layer.opacity = 0.5; viewSample.layer.cornerRadius = 5; }
相关文章推荐
- iOS开发中NSRunloop跟NSTimer的问题
- 仿iOS猎豹垃圾清理(实现原理+源码)
- 苹果开发 笔记(33)常用组件笔记
- IOS实用代码片段 2
- iOS7以后的侧滑返回上一页
- iOS 中使用 XIB 自定义cell 的两种方法 以及 编译出现常见 的错误 ++++(xcode6.0之后)
- IOS去掉字符串中的html标签的方法
- iOS编程——多态
- iOS开发笔记3:XML/JSON数据解析
- 远程SSH登陆方式备份和导入IOS系统和配置文件
- iOS编程——类的继承
- 适配iOS 8
- 开门见iOS(3)-了解Xcode
- iOS的init、loadView、 viewDidLoad、viewDidUnload的关系
- IOS自制类似于下拉框的控件
- iOS button点击更换图片
- 常用的iOS
- iOS编程——隐藏和封装
- iOS编程——预编译命令#include、#import和@class
- ios FMDB初体验之增删改查