绘图
绘图是是绘在view上,触摸的过程就是绘制的过程。
数据结构:
需要一个点数组,pointArray;
点数组代表一条线;
需要一个线数组,lineArray;里面存的是点数组;
涂鸦里面包含两方面:
触摸:
UITouch:
touchesBegan:withEvent:
开始触摸
touchesMoved:withEvent:
手指移动
touchesEnded:withEvent:
结束触摸
touchesCancelled:withEvent:
触摸中断
locationInView: 当前手指的位置
previousLocationInView:
上一次手指位置
绘图:需要重写drawRect方法
绘图常用方法
UIGraphicsGetCurrentCont ext()
获取上下文;
CGContextSetStrokeColorW ithColor()
设置画笔颜色
CGContextSetLineWidth()
设置画笔粗细
CGContextMoveToPoint()
移动画笔到指定位置
CGContextAddLineToPoint()
画直线
setNeedsDisplay
重写drawRect的方法
1、描述子视图和父视图之间层次关系
包含的关系,视觉上子视图隐藏了父视图的内容。如果子视图不透明,则所占区域完全隐藏了父视图的相应区域。
父子视图影响视图行为,改变父视图的尺寸子视图也跟着改变,其他会影响到子视图的改变包括隐藏父视图,改变父视图的alpha值,或者转换父视图。
视图层次的安排会决定着应用如何去响应事件。在一个具体的视图内部发生的触摸事件通常会被直接发送到该视图去处理。然而,如果该视图没有处理,它会将该事件传递给它的父视图,在响应者链中以此类推。具体视图可能也会传递事件给一个干预响应者对象,像视图控制器。如果没有对象处理这个事件,它最终会到达应用对象,此时通常就被丢弃了。
2、frame和bounds区别是什么?
frame指定视图的坐标和大小,bounds是边界属性,用于定义视图相对于本地坐标系的位置和大小
3、UIApplication的代理方法有哪些?
程序正确启动;程序将要变成非活跃状态;程序进入后台;程序进入前台;程序变成活跃状态;程序将要终止。
4、UIViewController都有哪些常用方法,什么时候调用?
didReceiveMemoryWarning
接收到内存警告的时候调用
viewDidLoad
视图加载之后被调用,只调用一次
loadView 只调用一次
-
(void)viewWillAppear:(BOOL)animated;
视图将要消失的时候调用
-
(void)viewDidAppear:(BOOL)animated;
-(BOOL)shouldAutorotateToInterf
//设备旋转方法,改为YES,自动改变设备方向,进行设备方向检查。IOS6.1后不建议使用