美文网首页
iOS--UIView与UIViewController

iOS--UIView与UIViewController

作者: 空白Null | 来源:发表于2016-07-07 14:51 被阅读130次

    一、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:

    相关文章

      网友评论

          本文标题:iOS--UIView与UIViewController

          本文链接:https://www.haomeiwen.com/subject/gldljttx.html