UIViewController的作用:
1、创建/销毁自己的view
2、显示/隐藏view
3、处理UIView和用户之间的交互(事件处理)
每个UIViewController默认都有一个UIView属性(rootView)
superView:获取父控件对象(唯一)
subviews:获取自己的所有子控件对象(数组)
frame:控件所在矩形框的位置和尺寸(以父控件的左上角为座标原点)
bounds:控件所在矩形框的位置和尺寸(以自己左上角为座标原来,所以bounds的X和Y永远为0)
center:控件中点的位置(以父控件的左上角为座标原点)。通过center属性设置视图位置更加方便
注意:
用frame和center可以修改UIView的位置
用frame和bounds可以修改UIView的尺寸
tag整数:控件的ID(标记),父控件可以通过Tag来找到或区分子控件
transform:控件的形变属性(可以设置旋转角度。比例缩放,平移等属性)
注意:
UIView一次只能应用一个形变属性
CGAffineTransformMakeScale相对UIView的初始状态进行形变;
CGAffineTransformScale相对UIView的当前状态进行形变;
1、[UIView animateWithDuration:animations:]
2、[UIView animateWithDuration:animations:completion:]
3、{UIView animateWithDuration: delay :option :animations : completion:]
相比之前的老版本的动画的方式,新版本额块动画具有几点优势:
1、可以在动画完成时可以做一些其他的任务
2、可以设置动画延迟及动画效果选项
3、块动画支持嵌套
设计的时候一定要把MVC分开,什么方法管什么事情,千万不能混淆!不然可读性很差!