iOS:UIView的CALayer基本演练

简介:
UIView的CALayer基本演练的属性和注意事项:
在UIView中创建一个按钮UIButton,然后设置UIButton的Layer属性
–圆角、边框、阴影及3D形变属性
注意:
1.在UIView中CALayer只是一个类声明,因此需要添加QuartzCore框架(iOS7中已经不需要在导入了)
2.UIKit框架只能应用在iOS而不能用于Mac,但是Quartz 2D是可以跨平台的,因此在使用颜色时,不能直接使用UIColor而需要将颜色转成CGColor
3.修改图层相当于修改UIView属性,即修改了界面属性
4.形变属性既可以用形变函数指定,也可以用keyPath指定
 
具体的代码演示如下:所有的代码均在控制器类的 - (void)viewDidLoad { [super viewDidLoad];....}方法中完成
// 创建按钮
复制代码
    //添加button
    UIButton *button = [[UIButton alloc]init];
    //设置frame
    button.frame = CGRectMake(100, 100, 100, 100);

     //背景色

     button.layer.backgroundColor = [[UIColor redColor]CGColor];

     [self.view addSubview:button];

复制代码

//演示结果

//设置圆角

    //设置圆角半径
    button.layer.cornerRadius = 50.0;

//演示结果

//设置边框

    //设置边框(颜色、边宽)
    button.layer.borderColor = [[UIColor greenColor]CGColor];
    button.layer.borderWidth = 2.0;

//演示结果

//设置阴影

    //设置阴影(颜色、偏移量、透明度、半径)
    button.layer.shadowColor = [[UIColor purpleColor]CGColor];
    button.layer.shadowOffset = CGSizeMake(0, 0);
    button.layer.shadowOpacity = 1.0;
    button.layer.shadowRadius = 20.0;

//演示结果

//添加内容

    //设置内容
    button.layer.contents = (id)[[UIImage imageNamed:@"2.png"] CGImage];

//演示结果

//进行平移的形变并恢复原状(演示结果自己验证)
    //设置平移(每一个轴平移长度)
    button.layer.transform = CATransform3DMakeTranslation(10, 300, 0.0);
    //恢复平移
    //button.layer.transform = CATransform3DIdentity;

 

//进行选装形变并恢复原状
    //设置旋转(旋转角度、x轴、y轴、z轴)
    button.layer.transform = CATransform3DMakeRotation(M_PI, 1, 0, 0);
    //恢复旋转
    //button.layer.transform = CATransform3DIdentity;

//演示结果

 

 

//进行放缩形变并恢复原状

    //设置放缩(每一个轴方向放缩大小系数)
    button.layer.transform = CATransform3DMakeScale(2, 2, 2);
    //恢复放缩
    //button.layer.transform = CATransform3DIdentity;

//演示结果

 

 
程序猿神奇的手,每时每刻,这双手都在改变着世界的交互方式!
分类:  iOS高级

本文转自当天真遇到现实博客园博客,原文链接:http://www.cnblogs.com/XYQ-208910/p/4882123.html,如需转载请自行联系原作者
相关文章
|
存储 API iOS开发
iOS UIView动画效果
iOS UIView动画效果
|
程序员 API iOS开发
iOS UIView添加快捷手势回调
iOS UIView添加快捷手势回调
|
Go iOS开发
iOS使用xib自定义uiview
iOS使用xib自定义uiview
332 0
iOS使用xib自定义uiview
|
iOS开发
IOS给任意UIView截屏
IOS给任意UIView截屏
151 0
|
安全 Unix API
iOS Principle:CALayer(下)
iOS Principle:CALayer(下)
144 0
iOS Principle:CALayer(下)
|
iOS开发
iOS Principle:CALayer(中)
iOS Principle:CALayer(中)
126 0
iOS Principle:CALayer(中)
|
API C语言 iOS开发
iOS Principle:CALayer(上)
iOS Principle:CALayer(上)
151 0
iOS Principle:CALayer(上)
|
iOS开发
iOS开发之指定UIView的某几个角(小于4)为圆角
在iOS开发中,我们经常会遇到View设置圆角的问题,如果需要将UIView的4个角全部都为圆角,做法相当简单,只需设置其Layer的cornerRadius属性即可(项目需要使用QuartzCore框架)。而若要指定某几个角(小于4)为圆角而别的不变时,这种方法就不好用了。
iOS开发之指定UIView的某几个角(小于4)为圆角
|
iOS开发
iOS开发CoreAnimation解读之二——对CALayer的分析(二)
iOS开发CoreAnimation解读之二——对CALayer的分析
193 0
iOS开发CoreAnimation解读之二——对CALayer的分析(二)
|
iOS开发 容器
iOS开发CoreAnimation解读之二——对CALayer的分析(一)
iOS开发CoreAnimation解读之二——对CALayer的分析
122 0
iOS开发CoreAnimation解读之二——对CALayer的分析(一)