UI第三课

主要内容:自定义视图、视图控制器

一、自定义视图

自定义视图:除系统提供UI之外,开发者自己组合而出的新的视图

根据需求不同,自定义视图要继承的类也不同,一般自定义的视图会继承于UIView;

步骤:

1、创建一个UIView的子类

2、在类的初始化方法中添加子视图

3、类的 .h 文件提供了一些接口(方法),便于外界操作子视图

二、视图控制器(UIViewController)

控制视图显示,响应事件,分担AppDelegate工作,实现模块的独立,提高复用性

功能:

1、控制视图大小变换、布局视图、响应事件

2、检测以及处理内存警告

3、检测以及处理屏幕旋转

4、检测视图的切换

MVC概述:

1、UIViewController是MVC设计模式的核心

2、MVC是框架级的设计模式

3、M是Model,主要用于建立数据模型

4、V是View。我们所能看到的空间都是View,view的是要功能是展示数据

5、C是控制器,主要是控制M和V的通信

它们之间的关系:

三、视图控制器指定自定义view

视图控制器只负责控制视图显示,响应事件

如何设置:

1、自定义视图类继承UIView,

2、重写controller的loadView方法,创建自定义视图对象,并指定为controller的的view

3、将子视图控件对象设置为自定义视图类的属性,在viewDidLoad方法中进行设置(如添加action、设置delegate等等)

4、在controller中添加按钮点击事件实现和delegate方法实现

四、检测屏幕旋转

视图控制器本身能检测到屏幕的旋转,如果要处理屏幕旋转,需要重写几个方法

1、supportedInterfaceOrientations (设置设备支持旋转的方向)

2、willRotateToInterfaceOrientation:duration:(暂停音乐、关闭视图交互等)

3、willAnimateRotationToInterfaceOrientation:duration:(添加自定义动画等)

4、didRotateFromInterfaceOrientation:(播放音乐、打开视图交互等)

时间: 2024-10-21 22:28:01

UI第三课的相关文章

【Cocos游戏实战】功夫小子第三课之过渡场景和開始菜单的实现

本节课的视频教程地址是:第三课在此 假设本教程有帮助到您,希望您能点击进去观看一下,并且如今注冊成为极客学院的会员,验证手机号码和邮箱号码会赠送三天的会员时间,手机端首次也能够领取五天的会员时间哦(即使是购买年会员眼下也不过年费260),成为极客学院学习会员能够无限制的下载和观看全部的学院站点的视频,谢谢您的支持! 经过前面两节课的学习.我们已经知道我们要做的是一个什么样的游戏项目.而且对游戏的基本特点和当中的重难点有了一个主要的认识,而且完毕了项目环境的基本搭建.以及项目基础类等工作. 从这节

【Cocos游戏实战】功夫小子第三课之过渡场景和开始菜单的实现

本节课的视频教程地址是:第三课在此 如果本教程有帮助到您,希望您能点击进去观看一下,而且现在注册成为极客学院的会员,验证手机号码和邮箱号码会赠送三天的会员时间,手机端首次也可以领取五天的会员时间哦(即使是购买年会员目前也仅仅是年费260),成为极客学院学习会员可以无限制的下载和观看所有的学院网站的视频,谢谢您的支持! 经过前面两节课的学习,我们已经知道我们要做的是一个什么样的游戏项目,并且对游戏的基本特点和其中的重难点有了一个基本的认识,并且完成了项目环境的基本搭建,以及项目基础类等工作. 从这

【第三课】ANR和OOM——贪快和贪多的后果(上)

恼人的ANR 早先年用Android的时候,就连很多知名的app也总是莫名其妙崩溃,好像手机快的时候会崩溃,手机卡的时候app会卡死.卡死的时候会弹出来一个框,询问是要结束app还是继续等待.这就是ANR(Application Not Responding)无疑了. ANR一般有三种类型: KeyDispatchTimeout(5 seconds) — 按键或触摸事件在5秒内无响应 BroadcastTimeout(10 seconds) — BroadcastReceiver在10秒内无法处

第三课 文件系统(上)

unix_c_03.txt====================第三课 文件系统(上)====================一.系统调用------------应用程序 -----------+| |v |各种库 |(C/C++标准库.Shell命令和脚本. |X11图形程序及库) || |v |系统调用 <----------+(内核提供给外界访问的接口函数,调用这些函数将使进程进入内核态)|v内核(驱动程序.系统功能程序)1. Unix/Linux大部分系统功能是通过系统调用实现的.如o

java工程开发之图形化界面之(第三课)

上面我们讲述了通过JOptionPane进行文本I/O操作,一个是通过JOptionPane来获取的 参考链接:http://blog.sina.com.cn/s/blog_993d254201013pgh.html#cmt_3339216 JOptionPane类 1.属于javax.swing 包. 2.功能:定制四种不同种类的标准对话框. ConfirmDialog 确认对话框.提出问题,然后由用户自己来确认(按"Yes"或"No"按钮) InputDialo

shellKali Linux Web 渗透测试— 初级教程(第三课)

shellKali Linux Web 渗透测试— 初级教程(第三课) 文/玄魂 目录 shellKali Linux Web 渗透测试—初级教程(第三课)... 1 课程目录... 1 通过google hack寻找测试目标... 2 一个asp站点的sql注入... 3 一个php站点的sql注入... 4  课程地址:点击 课程目录 两个基本案例,以sql注入入手,目标为熟悉基本的思路,关注细节信息. 关于google hack,web 扫描,sql注入更详细和复杂的内容后续教程会专门讲解

【C语言探索之旅】 第二部分第三课:数组

内容简介 1.课程大纲 2.第二部分第三课: 数组 3.第二部分第四课预告:字符串 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言编写三个游戏. C语言编程基础知识 什么是编程? 工欲善其事,必先利其器 你的第一个程序 变量的世界 运算那点事 条件表达式 循环语句 实战:第一个C语言小游戏 函数 练习题 习作:完善第一个C语言小游戏 C语言高级技术 模块化编程 进击的指针,C语言王牌 数组 字符串 预处理 创建你自己的变量类型 文件读写 动态分配

BeagleBone Black 板第三课:Debian7.5系统安装和远程控制BBB板

BBB板第三课:Debian7.5系统安装和远程控制BBB板 因为BBB板系统是Debian 7.4,据说使用Debian系统可以实现很多BBB板的无缝连接,可以更好的学习和控制BBB板,所以就决定下载Debian7.5系统安装,采用虚拟机的安装方式. 一.系统安装 1.我下载了Debian7.5 32位系统,有三张DVD盘,网上有不少安装资料了,我这里就不详细介绍安装过程了.不过有一点可能很多人都会遇到的问题,就是安装过程中提示插入光盘的问题.虚拟机是Vmware workstation 10

【Linux探索之旅】第一部分第三课:測试并安装Ubuntu

内容简单介绍 1.第一部分第三课:測试并安装Ubuntu 2.第一部分第四课预告:磁盘分区 測试并安装Ubuntu 大家好,经过前两个比較偏理论(是否想起了带着瓜皮帽,手拿折扇的老学究,或者腐儒)的课程,这第三课我们就正式进入实战啦. 可能不少朋友没使用过Linux这个操作系统,那么这一课就是见识一下它的庐山真面目的时候了. 我们这个系列课程所使用的Linux发行版是Ubuntu,由于其使用广泛.技术支持全面.文档完整,另一个非常关键的原因就是Ubuntu的配色偏"土豪金"啊,有木有.