描述位置和大小的属性
2015-10-15 11:14
357 查看
frame、center、bounds、transform的使用:
frame:包含位置(元素左上角坐标)和大小
CGRect类型
center:只能修改位置,元素中心点坐标
CGPoint类型
bounds:只能修改大小
CGRect类型,但是它的x和y都是0,所以之恩能够通过bounds修改大小
transform:什么都能干(平移,缩放,旋转)
注:原始位置为0
平移:
1、基于原始位置的平移:
下面这句话的意思是:告诉控件平移到距离原始位置-50的位置(只能平移一次)
self.btnIcon.transform =
CGAffineTransformMakeTranslation(0, -50); // 向上平移50
(x, y)
2、基于一个旧的位置的平移(可连续平移)
self.btnIcon.transfrom =
CGAffineTransformTranslate(self.btnIcon.transform, 0, 50);
(旧的位置)
缩放:scale
1、基于原始位置的缩放
self.btnIcon.transform = CGAffineTransformMakeScale(0.5, 0.5); // 缩放为原来的0.5倍
2、基于一个旧的位置的缩放
self.btnIcon.transform = CGAffineTransformScale(self.btnIcon.transform, 1.5, 1.5); // 1.5倍
旋转:rotate
1、基于原始位置的旋转
self.btnIcon.transform = CGAffineTransformMakeRotation(-M_PI_4); //逆时针旋转45度(默认为顺时针,加一个负号“-”为逆时针)
(弧度)
2、基于一个旧的位置的旋转
self.btnIcon.transform
= CGAffineTransfromRotate(self.btnIcon.transform, -M_PI_4);
回到原始状态:
1、清空之前设置的transform属性
view.transform = CGaffineTransformIdentity;
2、制空
view.transform = nil;
frame:包含位置(元素左上角坐标)和大小
CGRect类型
center:只能修改位置,元素中心点坐标
CGPoint类型
bounds:只能修改大小
CGRect类型,但是它的x和y都是0,所以之恩能够通过bounds修改大小
transform:什么都能干(平移,缩放,旋转)
注:原始位置为0
平移:
1、基于原始位置的平移:
下面这句话的意思是:告诉控件平移到距离原始位置-50的位置(只能平移一次)
self.btnIcon.transform =
CGAffineTransformMakeTranslation(0, -50); // 向上平移50
(x, y)
2、基于一个旧的位置的平移(可连续平移)
self.btnIcon.transfrom =
CGAffineTransformTranslate(self.btnIcon.transform, 0, 50);
(旧的位置)
缩放:scale
1、基于原始位置的缩放
self.btnIcon.transform = CGAffineTransformMakeScale(0.5, 0.5); // 缩放为原来的0.5倍
2、基于一个旧的位置的缩放
self.btnIcon.transform = CGAffineTransformScale(self.btnIcon.transform, 1.5, 1.5); // 1.5倍
旋转:rotate
1、基于原始位置的旋转
self.btnIcon.transform = CGAffineTransformMakeRotation(-M_PI_4); //逆时针旋转45度(默认为顺时针,加一个负号“-”为逆时针)
(弧度)
2、基于一个旧的位置的旋转
self.btnIcon.transform
= CGAffineTransfromRotate(self.btnIcon.transform, -M_PI_4);
回到原始状态:
1、清空之前设置的transform属性
view.transform = CGaffineTransformIdentity;
2、制空
view.transform = nil;
相关文章推荐
- [轉]漢字簡化得不償失
- ocp-420
- Nagios介绍
- Connection实例是线程安全的吗
- PostgreSQL数据库压力测试工具pgbench简单应用
- Hadoop学习笔记
- 1008. Elevator (20)
- 【Github教程】:github入门到精通
- 10.Python标准库_多进程初步 (multiprocessing包)
- 我的第一篇CSDN博客
- [轉]驳斥“废除简体是瞎折腾”
- 纪录一下最近的感受
- [Flex] ButtonBar系列——控制ButtonBar菜单是否可用
- ocp-419
- redhat5 UDEV的配置
- ocp-418
- 游戏原画视频教程大全
- ocp-417
- struts2标签迭代map
- gulp学习