一.自定义视图 (自定义label-textField视图)
目的:为了进一步优化登录界面,提高代码的精简程度和复用性,可移植性,从而需要在原有视图控件的基础之上自由组合成自定义视图.
一般自定义的视图会继承于UIView。以下是自定义视图的要点和步骤:
1、创建一个UIView子类
2、在类的初始化方法中添加子视图
3、类的.h文件提供一些接口(方法),便于外界操作子视图。
例子及相应代码:
例题:假设我们使用LTView类代表label-textfield视图。创建一个LTView类继承于UIView。 将LTView作为一个容器,在LTView的初始化方法中创建并添加 label和textField。 此时的LTView就变成了一个具有label和textField的视图了。
执行顺序及思路:1.创建一个LTView类继承于UIView
2.将LTView作为一个容器,在LTView的初始化方法中创建并添加 label和textField。(作为其属性添加到LTView中) LTView就变成了一个具有label和textField的视图了.
3.调用时引入AppDelegate中,并初始化创建及显示
Appdelegate.m文件(创建文件一同显示)
创建的LTView.h 进行声明
在LTView.m中初始化,并通过方法创建其下属的标签和文本框
效果图
小结:自定义LTView使用了一种设计模式:复合设计模式。
复合设计模式:A类中,使用B类(或者更多类)作为自己的成员(实例变量)。
iOS中复合是特别常见的设计模式。iOS新控件往往都是用已有控件组合而成的。
二.视图控制器(UIVeiwController)
mvc概述
UIViewController是MVC设计模式的核心。 MVC是一个框架级的设计模式。
M是Model,主要用于建立数据模型(即数据的结构)
V是View,我们能看到的所有控件都是view,view主要的功能是展示数据。
C是控制器,主要是控制M和V的通信。视图控制器是连接Model和View的桥梁
UIViewController(视图控制器)作用:控制视图显示,响应事件.
分担AppDelegate的工作.
实现模块独立,提高复用性.
三.检测屏幕旋转
四.处理内存警告
五.容器视图控制器