(1)关于frame
frame一般用于控件初始化时使用;
frame改变size时,是以父坐标系为参考。 备注:用xib/stroyboard时记得将autolayout勾选掉,否则可能无法进行改变 【file inspector->IB Document->Use Auto Layout】
(2)关于bounds
一般用于改变大小。
bounds改版size时,是以自己的中心点为原点来改变大小。
(3)CGAffineTransform的方法
CGAffineTransformTranslate(CGAffineTransform t, CGFloat tx, CGFloat ty)
参数 t:已经存在的一个transform 【用需要改变transform的控件,形成累加的效果】
参数 tx: x轴
参数ty: y轴
CGAffineTransformScale(CGAffineTransform t, CGFloat sx, CGFloat sy)
参数 t:已经存在的一个transform 【用需要改变transform的控件,形成累加的效果】
参数 sx: 宽的倍数
参数 sy: 长的倍数
CGAffineTransformRotate(CGAffineTransform t, CGFloat angle)
参数 t:已经存在的一个transform 【用需要改变transform的控件,形成累加的效果】
参数 angle : 旋转的角度(弧度制,顺时针为正值)
(4)关于控件
能用stroyboard/xib完成的控件建议也要自己用代码过一遍
知识点1:
一般情况下控件需要用set..设置属性时,是控件有不同状态时(这时不能用点语法)
eg. [setBackgroundImage: forState:]
知识点2:
控件用alloc init的方式产生的,说明控件是custom类型
(5)用代码写界面的步骤
①先在脑袋里构想下界面的布局
②用代码写出相应的空间
③运行检测(建议每写完一个就检测一下)
(6)关于首尾动画的应用
// 第一步:开始动画
[UIView beginAnimations:context:];
// 此处可以做一些动画的设置,比如设置播放时长、播放次数等等
[UIView setAnimationDelay];
// 第二步:改变的位置或者大小
改变的代码
// 第三步:提交代码
[UIView commitAnimations];