UI第三讲.自定义视图 视图控制器指定自定义view 检测屏幕旋转 处理内存警告 容器视图控制器

一.自定义视图 (自定义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的工作.

                 实现模块独立,提高复用性.

三.检测屏幕旋转

四.处理内存警告

五.容器视图控制器

时间: 2024-10-07 06:13:26

UI第三讲.自定义视图 视图控制器指定自定义view 检测屏幕旋转 处理内存警告 容器视图控制器的相关文章

视图控制器、MVC、屏幕旋转、内存警告

使用视图控制器的步骤: 1.创建一个根视图控制器 aController 2.在AppDelegate中引用aController的头文件,并且指定AppDelegate的根视图控制器为aController,代码如图: 3.设置了AppDelegate的根视图控制器,但是aController视图控制器的默认视图是空白视图,并且背景色是透明色,所以如果想要显示内容,就有两种方法,一种是:直接在viewDidLoad方法中创建视图,并且添加到根视图上面(viewDidLoad是视图控制器自带的根

iOS视图控制器编程指南 --- 实现一个容器视图控制器

容器视图控制器是一种结合多个视图控制器的内容到一个单一的用户界面上的方式.容器视图控制器经常被用来使导航更方便,基于已经存在的内容创建一个新的用户界面类型.例如,在UIKit中的容器视图控制器包括UINavigationcontroller,UITabBarcontroller 和 UISplitViewcontroller,它们都可以使用户界面在不同视图部分之间的切换和导航更加的容易. 设计一个自定义的容器视图控制器 在几乎所有的方面,一个容器视图控制器就像其它任何一个内容视图控制器一样,它管

猫猫学iOS 之控制器view显示中view的父子关系及controller的父子关系_解决屏幕旋转不能传递事件问题

猫猫分享,必须精品 原创文章,欢迎转载.转载请注明:翟乃玉的博客 地址:http://blog.csdn.net/u013357243 一:效果 二:项目代码 这个Demo用的几个控制器分别画了不通的xib,随便拖拽了几个空间,主要是几个按钮的切换,主要代码展示下: // // NYViewController.m // 控制器的view的显示 // // Created by apple on 14-10-10. // Copyright (c) 2014年 heima. All rights

UI基础:视图控制器.屏幕旋转.MVC

UIViewController 视图控制器,继承自UIResponder,作用:管理视图并且响应事件 功能: 1.分担APPdelegate的工作 2.实现模块独立,能提高复用性 创建UIViewController对象: UIViewController *viewController=[[UIViewController alloc]init]; UIViewController 自身带了一个UiView,默认的大小和屏幕大小一样. 每一个window都带有一个根视图,如果不给根视图赋值,

ios-表视图-demo-自定义cell和心得

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *cellindentifier=@"cell"; if (self.celltype==KTableViewCellContenview) {//第一种自定义cell UITableViewCell *cell = [tableView dequ

导航视图栏左右键自定义

//创建按钮初始化 UIButton * leftButton=[[UIButtonalloc]initWithFrame:CGRectMake(0, 0, 60, 24)]; //添加返回方法    [leftButton addTarget:self action:@selector(backMainViewController) forControlEvents:UIControlEventTouchUpInside]; //设置字体颜色,状态    [leftButton setTitl

MVC扩展控制器, 把部分视图转换成字符串(带验证信息), 并以json传递给前端视图

当我们使用jQuery异步提交表单数据的时候,需要把部分视图转换成字符串(带验证信息),以json的形式传递给前端视图. 使用jQuery异步加载部分视图,返回内容追加到页面某个div: jQuery异步提交失败,返回带验证失败信息的部分视图字符串,并追加到页面div: jQuery异步提交成功,返回显示提交成功的部分视图字符串,并追加到页面div: 一个简单的Model: using System.ComponentModel.DataAnnotations; namespace MvcApp

点击textField没有响应与在屏幕上未看到创建的视图问题(UI)

一.点击textField没有响应 (1)textField上面还有视图(如下) UITextField *tf = [[UITextField alloc] initWithFrame:CGRectMake(50, 100, 220, 40)]; tf.backgroundColor = [UIColor yellowColor]; tf.borderStyle = UITextBorderStyleRoundedRect; [self.window addSubview:tf]; [tf r

View(视图)——对话框之自定义对话框

一.自定义对话框 1.不能直接实例化使用 2.使用内部构造器来生成对话框 3.new  AlertDialog.Builder(context)  实例化构造器 1-setTitle (标题) 2-setMessage (消息) 3-按钮 1°确认按钮  setPositiveButton(“文字”,点击事件监听器) 2°否认按钮  setNegativeButton(“文字”,点击事件监听器) 3°中立按钮  setNeutralButton(“文字”,点击事件监听器) 4-show() 创建