类似淘宝的网站怎么做的,合肥建设局网站领导,做网站什么软件好,地税城市维护建设税网站是什么意思本文目录 一、什么是CALayer二、CALayer的简单使用 回到顶部一、什么是CALayer * 在iOS系统中#xff0c;你能看得见摸得着的东西基本上都是UIView#xff0c;比如一个按钮、一个文本标签、一个文本输入框、一个图标等等#xff0c;这些都是UIView。 * 其实UIView之所以能显… 本文目录 一、什么是CALayer二、CALayer的简单使用 回到顶部 一、什么是CALayer * 在iOS系统中你能看得见摸得着的东西基本上都是UIView比如一个按钮、一个文本标签、一个文本输入框、一个图标等等这些都是UIView。 * 其实UIView之所以能显示在屏幕上完全是因为它内部的一个层。 * 在创建UIView对象时UIView内部会自动创建一个层(即CALayer对象)通过UIView的layer属性可以访问这个层。当UIView需要显示到屏幕上时会调用drawRect:方法进行绘图并且会将所有内容绘制在自己的层上绘图完毕后系统会将层拷贝到屏幕上于是就完成了UIView的显示。 * 换句话说UIView本身不具备显示的功能是它内部的层才有显示功能。 回到顶部 二、CALayer的简单使用 上面已经说过了UIView之所以能够显示完全是因为内部的CALayer对象。因此通过操作这个CALayer对象可以很方便地调整UIView的一些界面属性比如阴影、圆角大小、边框宽度和颜色等。 1.CALayer是被定义在QuartzCore框架中的因此要想使用CALayer先导入QuartzCore框架 1 点击项目名称然后点击右边TARGETS下面的target 2 点击Build Pases后展开Link Binary....添加 号 3 在搜索框中输入Quartz选中QuartzCore.framework最后add添加 4 添加完毕后这个框架就会出现在项目文件夹中 如果你觉得位置不好看还可以将它拖到Frameworks文件夹下跟其他框架放一起 2.在项目代码中导入QuartzCore框架的主头文件 #import QuartzCore/QuartzCore.h 3.通过CALayer修改UIImageView的界面属性 你也可以使用UIButton或者UILabel这里就以UIImageView为例子 1 先创建一个UIImageView添加到控制器的view中 1 UIImage *image [UIImage imageNamed:lufy.png];
2 UIImageView *imageView [[[UIImageView alloc] initWithImage:image] autorelease];
3 imageView.center CGPointMake(100, 100);
4 [self.view addSubview:imageView]; 2 设置阴影 1 imageView.layer.shadowColor [UIColor grayColor].CGColor;
2 imageView.layer.shadowOffset CGSizeMake(10, 10);
3 imageView.layer.shadowOpacity 0.5; * 第1行设置阴影的颜色为灰色注意这里使用的是UIColor的CGColor属性是一种CGColorRef类型的数据 * 第2行设置阴影的偏移大小可以看出阴影往原图的右下角偏移 * 第3行设置阴影的不透明度为0.5表示半透明。如果为1代表完全不透明。 3 设置圆角大小 通过layer属性可以访问视图内部的CALayer对象 1 imageView.layer.cornerRadius 10;
2 imageView.layer.masksToBounds YES; * 第1行设置圆角半径为10 * 第2行的maskToBoundsYES可以看做是强制内部的所有子层支持圆角效果少了这个设置UIImageView是不会有圆角效果的 * 注意如果设置了maskToBoundsYES那将不会有阴影效果 4 设置边框宽度和颜色 1 imageView.layer.borderWidth 5;
2 imageView.layer.borderColor [UIColor redColor].CGColor; * 第1行设置边框宽度为5 * 第2行设置边框颜色为红色 5 设置旋转 imageView.layer.transform CATransform3DMakeRotation(M_PI_4, 0, 0, 1); * 利用transform属性可以设置旋转、缩放等效果 * M_PI_4表示四分之π顺时针旋转45° * 后面的(0, 0, 1)表示Z轴这个向量修改这个向量可以做一些三维旋转效果你可以随便改个值试一下比如(1, 1, 1) * 总体的意思是layer会绕着Z轴顺时针旋转45°也就是在x、y平面进行旋转