第16章--iOS视图及视图控制器.ppt_第1页
第16章--iOS视图及视图控制器.ppt_第2页
第16章--iOS视图及视图控制器.ppt_第3页
第16章--iOS视图及视图控制器.ppt_第4页
第16章--iOS视图及视图控制器.ppt_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第16章iOS视图和视图控制器、目录、16.1 iOS窗口和视图介绍16.3 iOS视图控制器16.4视图控制器应用示例、16.1 iOS窗口和视图介绍、16.1.1 iOS窗口、1.iphh 出现窗口后,几乎不需要再次引用。 在iPhone OS操作系统中,ui窗口的父类是ui视图。 因此,窗口在iPhone OS操作系统中也是视图对象。 无论其起源如何,通常都可以同样地对待iPhone OS上的窗口和Mac OS X上的窗口。 也就是说,通常不需要直接操作与ui窗对象中的视图相关的属性变量。 应用程序不应创建多个窗口。 iPhone OS操作系统支持将一个窗口重叠在另一个窗口上,但应用程序

2、不能创建多个窗口。 系统本身使用附加窗口显示系统状态栏、重要警告以及应用程序窗口上的其他消息。 如果要在自己的内容上显示警告,请不要使用UIKit提供的警告视图创建其他窗口。 在iOS中,窗口对象没有关闭框架或标题栏的视觉装饰,用户无法直接关闭或执行其他操作。 对窗口的所有操作都必须在其编程接口中实现。 应用程序可以使用窗口对象进行事件分发。 窗口对象会持续跟踪当前的第一个响应者对象,并在UIApplication对象提出请求时传递事件。 ui窗口类是UIView的子类,用于管理和调整应用程序中显示的窗口。 这两个最重要的功能是为view提供容器和视图显示区域。将事件(例如,点击事件、拖动事件

3、等)分发给view。 在视图和视图级别,ui窗口是视图级别的根视图。 各个ui窗具有窗口级别(属性名: windowLevel ),当多个ui窗同时出现在应用程序中时,窗口级别高的ui窗会出现在窗口级别低的ui窗上。 例如,UIAlertView显示在正常窗口的上方。 这是因为UIAlertView的窗口级别比普通窗口的窗口级别高。 一般情况下,一个iOS应用程序只有一个ui窗口。 2.ui窗口的作用。 在iOS中,ui窗口的父类是ui视图。 因此,窗口在iOS中也是视图对象,但不需要直接操作ui窗口对象的与视图相关的属性。 创建应用程序窗口时,必须始终将初始边框大小设置为整个屏幕的大小。 如

4、果窗口是从nib文件挂载的,则接口生成器无法创建小于屏幕大小的窗口;但是,如果窗口是通过编程创建的,则必须在创建时传递所需的边界矩形。 屏幕矩形以外,没有传递其他框线矩形的理由。 16.1.2 iOS视图。 在iPhone应用程序中,视图在显示用户界面和响应用户界面交互中起着重要的作用。 每个视图对象渲染视图的矩形区域的内容,并响应该区域中发生的触摸事件。 这种双重行为意味着视图是应用程序和用户交互的重要机制。 (1)绘图和动画视图负责绘制所属矩形区域的某些视图属性变量可以转换为新的动画值。 (2)布局和子视图管理视图管理子视图列表的视图定义了自己对父视图的调整大小行为。视图可以根据需要使用代

5、码调整子视图的大小和位置。视图将坐标系下的点更改为其他视图或窗口坐标系下的点(3)在事件处理视图中,可以接收触摸事件的视图是响应者链的参与者。16.2 iOS控件、基于16.2.1 IOS的控件,以及基于UI的控件(如UIButton、UI标签、UI文本字段和UI映像视图)均由UI视图继承。大多数控件继承自UIControl,UIControl派生自UIView类,每个控件具有许多视图的特性,包括附着其他视图的功能,所有控件都具有公共属性和方法,如显示内容、事件单击等UIButton的使用,UIButton是很常用的。 按钮点击也可以输入图像。 uibutton * back BTN=uibu

6、ttonbuttonwithtype : uibuttontyperoundedrect; backbtn.frame=cgrectmake(30、50、70、40 ); 后台设置3360按钮forstate 3360 uicontrolstatenormal; /backbtnsetimage : uiimageimagenamed 3360 icon _ top _ enable.pngforstate : uicontrolstatenormal /这是图像的填充按钮。 对于图像,button必须是UIButtonTypeCustom。 当然不用照片也可以。 backbtnaddtarg

7、et :自动选择器(onclick ) forcontrolevents : uicontroleventtouchupinside; 添加button单击事件onclick self.viewaddsubview : back BTN。 您还可以为onclick事件添加任何视图-(void)onclick NSLog (单击按钮)、16.2.2 ui工具栏使用案例和工具栏。 其原理是将您添加的View添加到UIBarButtonItem中,然后将UIBarButtonItem数组一次放入toolbar的items中。 UIBarButtonSystemItem按钮的动作效果如图所示。 根据、

8、16.3视图控制器、16.3.1视图控制器,控制器对象充当一个或多个视图对象与一个或多个模型对象之间的协调者或协调者。 在模型-视图-控制器设计模式中,控制器对象(也简称为控制器)允许用户单击(点击)按钮,在文本框中输入文本,并将新数据或更改的数据如果模型对象已经改变,例如,当用户打开存储在文件系统中的文档控制器对象时,新的模型数据被传递到视图对象,如上所述,控制器可以视为管道。 这样,视图对象就可以知道模型对象的变化,反之亦然。 控制器对象还可以启动或协调应用程序任务并管理其他对象的生命周期。 Cocoa框架包括协调控制器、视图控制器(由iPhone OS操作系统提供)、中介控制器、1 .协

9、调控制器和控制器通常使用此控制器将应用程序特定的逻辑嵌入到应用程序中。 协调控制器响应于对请求消息的响应、对通知的截取、需要实现如下各种功能的动作消息(通常,当诸如密钥的控件收到用户的点击时发出这样的消息) 协调控制器通常是NSObject的自定义子类。 在Mac OS X平台上,如果Cocoa应用程序使用文档模式,协作控制通常是NSWindowController或NSDocumentController对象。 在iPhone OS操作系统应用程序中,视图控制器包含调节控制器的角色。 2、视图控制器(iPhone OS )、视图控制器管理全屏视图并保存对所管理视图的引用。 视图可以由视图控制

10、器直接创建,也可以从Nib文件加载。 在iPhone OS操作系统用户界面设计模式中,视图控制器管理当前视图和下一视图的显示,下一视图从右侧滑动到屏幕。 导航栏、选项卡栏和两者的显示行为都由视图控制器实现和管理。 视图控制器还可以显示模态视图,响应低内存警告,并在设备改变方向时旋转视图。 视图控制器是UIViewController子类的实例。 UIKit是UIViewController的子类,它提供多种不同的用途。3、中介控制器(Mac OS X ),中介控制器在视图对象与模型对象之间传递数据。 当用户更改视图对象的值时,中介控制器会自动将新值传递给模型对象(用于保存数据)。如果模型中的属

11、性值更改,中介控制器还会确保视图对象显示更改后的值。 中介控制器与其他类型的控制器对象不同,具有高度的重用性。 因此(也有其他理由),中介控制器成为Cocoa绑定技术的核心组件。 可以从接口生成器库中拖动中介控制器以建立视图对象与模型对象之间的关联。 中介控制器通常是NSController类的可实例化子类的对象。16.3.2标签栏控制器、标签栏控制器应用程序是由标签控制的两个视图,使用storyboard创建标签很简单。 登上main.story板,将tab bar控制器从对象库拖动到面板上。 可能需要最大化XCode。 默认情况下,Tab Bar Controller有两个视图控制器,您需

12、要完全看清他们。 在右下角的小浮动窗口中,可以缩小此面板。 默认情况下,新的tab bar控制器有两个视图管理器和一个标签。 UITabBarController也称为容器视图控制器。 这是因为通常包含多个视图控制器。 还有两种容器控制器:导航控制器和剥离视图控制器。16.3.3表视图控制器、添加了UITableViewController的双方场景所属的tab bar控制器为标准的UIViewControllers,以下为uitableviiew、2.3 在向应用程序添加特定功能之前,请整理storyboard并将第一个tab中的第二个tab命名为Players和Gestures。 tab

13、bar控制器不能如期更改。 只能在tab指向的视图控制器中进行。 3. Prototype cells和Prototype cells允许您直接在存储板编辑器中设置和修改表视图的自定义cell。 默认表视图控制器有一个空的cell。 单击以将“属性检查器样式”设置为“子样式”。 这将导致cell包含两个标签。 如果您以前为table view自定义过cell,您会发现这是UITableViewCellStyleSubtitle样式。 使用prototype cells,可以像现在一样直接选择自己拥有的cell样式,也可以自己设计。 4 .实现prototype cells、uitabbarcontroller * tabbar控制器=(uitabbarcontroller * ) 我知道self.window.rootts storyboard的第一个视图控制器是tab bar控制器,所以我把window的rootViewContro

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论