莞城网站制作,做仿制网站,银川网站建站,郑州广推网络科技有限公司1.自定义视图 自定义视图#xff1a;系统标准UI之外#xff0c;自己组合而出的新的视图。在实际开发中#xff0c;我们经常需要自己定义视图#xff0c;积累自己的代码库。自己封装的视图#xff0c;能像系统提供的UI控件一样用于多个项目中#xff0c;这样可以提高我们的… 1.自定义视图 自定义视图系统标准UI之外自己组合而出的新的视图。在实际开发中我们经常需要自己定义视图积累自己的代码库。自己封装的视图能像系统提供的UI控件一样用于多个项目中这样可以提高我们的开发效率。 自定义视图的步骤 根据需求的不同自定义视图继承的类也会不同。一般自定义的视图会继承自UIView。以下是自定义视图的要点 创建一个UIView子类在类的初始化方法中添加子视图类的.h文件提供了一些接口方法便于外界操作子视图。 示例1: 自定义label-textField视图 假设我们使用LTView类代表label-textField视图我们可以创建一个LTView类继承于UIView。将UIView作为一个容器在LTView的初始化方法中创建并添加label和textField。 将Label和TextField封装到LTView中在一定程度上简化了我们的代码。在自定义LTView中我们使用了复合设计模式。 复合设计模式A类中使用B类或者更多类作为自己的成员实例变量。 iOS中复合是特别常见的设计模式iOS新控件往往都是用已有的控件组合成的。 2. 视图控制器 UIViewController : 视图控制器控制视图显示响应事件。分担AppDelegate的工作。实现模块独立提高复用性。 视图控制器的功能1控制视图大小变换、布局视图、响应事件。2监测以及处理内存警告。3检测以及处理屏幕旋转。4检测视图的切换。 自定义视图控制器 1 定义UIViewController的子类 2 创建视图控制器对象作为window的根视图控制器 3 在viewDidLoad中使用创建好的对象view 3. 视图控制器指定自定义的view UIViewController自带一个空的view与需求不符合。视图控制器只负责控制视图显示和响应事件。 自定义View 1 自定义视图类继承于UIView在初始化方法中添加子视图控件。 2 重写controller的loadView方法。创建自定义视图对象并指定为controller的view。 3 将子视图控件对象设置为自定义视图类的属性在viewDidLoad方法中进行设置添加 action、设置delegate等。 4 在controller中添加按钮点击事件的实现和代理方法的实现。 4. MVC概述 MVC是一个框架级的设计模式。M是Model主要用于建立数据模型即数据的结构。V是View我们看到的所有控件都是viewview的主要功能是展示数据。C是控制器主要是控制M和V之间的通信。 5. 检测屏幕旋转 视图控制器本身能检测到屏幕的旋转如果要处理屏幕旋转需要重写几个方法 1supportedInterfaceOrientations 设置设备支持旋转的方向 2willRotateToInterfaceOrientation:duration:暂停音乐、关闭视图交互等 3willAnimateRotationToInterfaceOrientation:duration:添加自定义动画等 4didRotateFromInterfaceOrientation播放音乐、打开视图交互等。 视图处理 视图控制器会自动调整view的大小以适应屏幕的旋转bounds被修改触发view的layoutSubviews方法。view重写layoutSubviews方法根据设备方向重新布局。 [UIApplication shareApplication].statusBarOrientation 方法可以提供设备的当前方向。 6. 处理内存警告 控制器能监测内存警告以便我们避免内存不够引起的crash。在定义的controller子类中重写didReceiveMemoryWarning方法。释放暂时不使用的资源。(数据对象、图像) 7. 容器视图控制器 常用方法 self.view显示viewWillAppear:和viewDidAppear: self.view消失viewWillDisappear:和viewDidDisappear: self.view添加到父视图上时之行appear方法当self.view从父视图上移除时执行disappear方法。 转载于:https://www.cnblogs.com/CoderLiLe/p/5538528.html