一、UIViwe基本概念
1、iPhone上看到的控件大部分都是UIView的子类
2、UIView的三个作用
布局、动画、事件传递
二、UIView的常用方法
UIKit是一个提供了在iOS上实现图形,事件驱动程序的框架,能看到的到的试图都在UIKit框架中
UIView是视图的基类
1、 基本的添加和删除
// 添加子视图
addSubview:
// 视图插入到指定索引位置
insertSubview:atIndex:
// 视图插入指定视图之上
insertSubview:aboveSubview:
// 视图插入指定视图之下
insertSubview:belowSubview:
// 把视图移动到最顶层
bringSubviewToFront:
// 把视图移动到最底层
sendSubviewToBack:
//把两个索引对应的视图调换位置
exchangeSubviewAtIndex:withSubviewAtIndex
// 把视图从父视图中移除
removeFromSuperview
2、查找试图
viewWithTag
subViews
3、常用属性
alpha 透明度
backgroundColor 背景颜色
subViews 子视图集合
hidden 是否隐藏
//标签值
tag
//父视图
superview
//是否响应触摸事件
userInteractionEnabled
4、坐标系统变换
在OC中,通过transform属性可以修改对象的平移、缩放比例和旋转角度
1、CGAffineTransformScale 对视图比例缩放
2、CGAffineTransformRotate 对视图做变焦旋转
3、CGAffineTransformTranslate 对视图在原来的位置上做平移
5、动画
开始动画,将改变属性的代码放在开始和提交之前
[UIView beginAnimations:nil context:nil]
提交动画
[UIView commitAnimations]之间
当动画即将开始时执行
+ (void)setAnimationWillStartSelector:(SEL)selector 执行delegate对象的selector
当动画结束时执行
+(void)setAnimationDidStopSelector:(SEL)selector
动画的持续时间,秒为单位
+ (void)setAnimationDuration:(NSTimeInterval)duration
动画延迟delay秒后再开始
+ (void)setAnimationDelay:(NSTimeInterval)delay
动画的开始时间,默认为now
+ (void)setAnimationStartDate:(NSDate *)startDate
动画的重复次数
+ (void)setAnimationRepeatCount:(float)repeatCount
如果设置为YES,代表动画每次重复执行的效果会跟上一次相反
+ (void)setAnimationRepeatAutoreverses:(BOOL)repeatAutoreverses
一、UIViewController的基本概念
1、见名知意,试图控制器
3、每个试图控制器都自带一个试图,并且负责这个试图相关的一切事务
4、对于iOS应用程序来说,每一个页面都是都是一个控制器,通过切换不同的控制器,来实现切换不同的界面
4、在MVC体系中负责Model与View的通信
5、检测设备旋转以及内存警告
想要App支持某个方向,需要两个设置:
1) Deployment Info 中,勾选 Device Orientation
2) 在控制器中,重写 supportedInterfaceOrientations 方法。(如不重写,IPad 默认是UIInterfaceorientationMaskAll , IPhone 默认是 UIInterfaceOrientationMaskAllButUpsideDown )
模拟器模拟内存警告
选中模拟器->hardware->simulate memory warning
6、UIViewController是所有试图控制器类的基类,定义了试图控制器的基本功能
二、UIViewController的生命周期
0、每次访问控制器的view,view是nil的话就会自动调用该方法,如果重写在这个方法内必须给控制器设置一个根试图,如果不给的话程序就会无限循环直到程序奔溃
loadView
1、控制器的View加载完毕
viewDidLoad
2、View即将显示到window上
viewWillAppear
3、view显示完毕
viewDidAppear
4、View即将从window上移除
viewWillDisappear
5、view从window上移除完毕
viewDidDisappear
6、view即将销毁的时候调用
viewWillUnload
7、view销毁完毕的时候调用
viewDidUnload
8、当接收到内存警告的时候
didReceiveMemoryWarning
9、具体流程查看课件中的图片
三、模态试图的使用
1、模态视图不是专门的某个类,而是通过视图控制器的presentModalViewController:方法弹出的视图我们都称为模态视图
2、模态视图出现的场景一般是临时弹出的窗口,譬如:登陆窗口
3、通过设置将要弹出控制器的modalTransitionStyle属性设置不同的动画效果
3、弹出,
//presentModalViewController:
presentViewController: animated: completion:
4、取消:
//dismissModalViewControllerAnimated: 方法关闭窗口
dismissViewControllerAnimated: completion: