//CAlayer 图层对象,每一个视图都有一个calayer对象,改变图层就能改变视图在界面上的显示。:
UIImageView *iv=[[UIImageView alloc]initWithFrame:CGRectMake(60, 50, SCREEN_W-120, SCREEN_H-200)];
iv.image=[UIImage imageNamed:@"4.jpg"];
CALayer *lay=iv.layer;
lay.cornerRadius=20.0f;
lay.borderWidth=10.0f;
lay.borderColor=[UIColor cyanColor].CGColor;
lay.shadowOffset=CGSizeMake(20, 20);
lay.shadowOpacity=2.0f;
_lay=lay;
[self creatBtn];
[self.view addSubview:iv];
CALayer的可以影响其外观的特性有:
需要说明的是CALayer的大部分属性都可以用来实现动画效果。
当然可以直接使用CALayer,也可以使用其子类,如CAGradientLayer,CATextLayer,CAShapeLayer等等。
如果想在圆角的同时加上阴影,可以通过创建一个子图层来实现:
然后添加一个带阴影效果的子层,加入下列代码:
CALayer *sublayer=[CALayer layer]; //初始化层
sublayer.frame=CGRectMake(40, 20, 240, 360);//设定层的大小
sublayer.backgroundColor=[UIColor blueColor].CGColor;//设定层的背景色
sublayer.cornerRadius=10.0;//设定层的圆角效果
sublayer.borderWidth=2.0; //给层设置边框
sublayer.shadowColor=[UIColor blackColor].CGColor; //设定边框的颜色
//设置层的阴影效果----
sublayer.shadowOffset=CGSizeMake(0, 3); //阴影的位置
sublayer.shadowRadius=5.0;//阴影的圆角
sublayer.shadowColor=[UIColor blackColor].CGColor; //阴影的颜色
sublayer.shadowOpacity=0.8;//阴影的透明度
[self.view.layer addSublayer:sublayer];