视图控制器、模态视图

一、什么是试图控制器?

视图控制器就是用来管理视图的加载、卸载、横屏竖屏显示等操作的控制器。

每一个界面都会由一个控制器来管理显示 ,单独的界面view需要视图控制器这个载体来管理显示。

UIViewController是所有视图控制器的父类 。

iOS提供了许多内置的视图控制器类,以支持标准的用户界面部分,比如导航控制器 (UINavigationController),标签栏控制器(UITabBarController),表视图控制器 (UITableViewController)等 。

每一个试图控制器本身就提供了一个视图view,称为该控制器的根视图,协调管理数据和视图之间的交互。

每个视图控制器管理和控制一系列的视图

你永远不会直接把UIView添加到UIWindow上面,而是添加一个UIViewController。

如何设置视图支持方向旋转?

  1.修改info.plist文件Supported interface orientations设置支持的旋转方向 。

  2.复写如下方法修改支持旋转方向。注意:1与2最好不要同时用。

-(NSUInteger)supportedInterfaceOrientations{

  return UIInterfaceOrientationMaskAll;

}

二、什么事模态视图?

视图控制器有一个presentModalViewController:的方法,该方法可以实现视图切换,从当前视图跳转到下一个视图,通过此方法弹出的视图我们都称为模态视图,模态视图是手机上非常常见。此方法如下:

self presentViewController: animated: completion:^{}

模态视图出现的场景一般是临时弹出的窗口,譬如:登陆窗口。

模态视图弹出时通过modalTransitionStyle属性设置不同的动画效果 。

调用 dismissModalViewControllerAnimated: 方法关闭窗口。

ModelViewController *mc = [[ModelViewController alloc] init]; //设置视图弹出时的动画效果
mc.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;

[self presentModalViewController:mc animated:YES];//从当前的视图控制器跳转到试图控制器mc。

在mc中调用

dismissModalViewControllerAnimated: 返回当前视图。

[self dismissViewControllerAnimated: completion:^{   }];

时间: 2024-09-30 14:29:39

视图控制器、模态视图的相关文章

学习方法和阶段介绍 、 iOS界面开发引入 、 构造第一个App 、 视图控制器和视图 、 控件与事件 、 InterfaceBuilder

1 创建并运行第一个App 1.1 问题 使用Xcode创建一个App项目,该应用实现功能在界面上显示Hello World标签,在模拟器中的运行结果如图-1所示: 图-1 1.2 方案 分析图-1,首先使用Xcode创建一个Single ViewApplicaton应用,起名为MyFirstApp,如图-2所示: 图-2 然后删除Xcode的导航栏里只保留TRAppDelegate.h文件和TRAppDelageat.m文件,其他代码文件.storyboard文件以及xib文件删除,如图-3所

IOS中在自定义控件(非视图控制器)的视图跳转中 代理方法与代码块的比较

//代码块与代替代理的设计方法 我就以在自定义视图中(非视图控制器,不能实现视图控制功能),通过代理和代码块两种方法分别实现视图的跳转,进行对比 首先自定义了一个视图,上面有一个已经注册了得BUtton点击监控事件方法-(void)event{};视图的跳转就在这个方法中实现(注意:这个button不在视图控制器里面,就算导了相关头文件,也不能跳转,所以只能通过代理方法,或者代码块等,在这个button(在自定义控件空,非视图控制器)方法中调用相关方法,在视图控制器中去实现) 代理实现方法: 在

iOS CoCoa编程中视图控制器与视图类(转)

分类: iPhone2012-05-28 11:19 837人阅读 评论(0) 收藏 举报 cocoa编程iosuinavigationcontrolleruiviewiphone iPhone编程规则是:一个窗口,多个视图. UIView是iPhone屏幕上很多控件的基础类.每个iPhone用户界面都是由显示在UIWindow(这其实也是个特殊的UIView)内的众多UIView及其专门化子类构建的. 显示数据的视图: UITextView UILabel UIImageView UIWebV

【iOS开发-30】UITabBarController的几种代理方法以及结合NSUserDefaults还原上次退出时被选中视图控制器和视图控制器的顺序

一.UITabBarController的几种代理方法 在AppDelegate.h中加入一个协议<UITabBarControllerDelegate>,然后再AppDelegate.m中添加如下代理方法: 如果没有效果,可能是缺少tbCon1.delegate=self;把代理指定给当前AppDelegate. -(BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:

iOS开发指南 第7章 视图控制器与导航模式 学习

1 概述 分类:平铺导航模式 标签导航模式 树形导航模式 2 模态视图 必须要一个单独的模态视图控制器 呈现 代码方法:presentViewController:animated:completion: 故事板segue方式 关闭 dismissViewControllerAnimated:completion: 获取navigationBar:拖拽一个 Editor-Embed in-Navigation Controller 创建一个navigation controller interf

dismissViewController实现多个模态视图跳转

最近实现的一个需求需要用到模态视图,所以少不了与dismissViewController方法打交道.本文主要讲一讲在使用dismissViewController方法过程中遇到的那些坑. 由于业务逻辑比较特殊,程序中需要在A试图控制器中present B试图控制器的视图,B视图控制器需要present C视图控制器中的视图.最后从C直接返回A. dismissViewControllerAnimated方法并不难用,其原型为: - (void)dismissViewControllerAnim

模态视图(转)

转载请注明出处,原文网址:http://blog.csdn.net/m_changgong/article/details/8127894 作者:张燕广 模态视图不是专门的某个类,而是通过视图控制器的presentViewController方法弹出的视图,我们称为模态视图. 模态视图出现的场景一般是临时弹出的窗口,譬如:登录窗口: 模态视图弹出时通过对视图对象的modalTransitionStyle来设置动画效果: 在弹出的视图中使用dismissViewControllerAnimated

【IOS开发—视图控制器】

一.UIViewController 视图控制器是UIViewController类或者其子类对象,每个视图控制器都负责管理一个视图层次结构.在UIViewController中有一个重要的UIView属性, 这个view就是这个视图层的根视图,当程序将view作为子视图加入窗口时,也会加入UIViewController对象所管理的整个视图层次结构. 视图控制器只有在将某个视图显示在屏幕上时,相应的视图控制器才会创建其视图,这种延迟加载视图的做法能提高内存的使用效率.视图控制器创建视图的方式有

表视图控制器(TableViewController)(三) 、 表视图搜索

1 乐库的设置界面 1.1 问题 tableView分为静态(static)和动态(dynamic),之前使用的都是动态的tableView,表视图的有多少分区.有多少行以及每一行显示的内容都不是固定的,都由数据模式来决定.而静态的tableView有多少分区.有多少行以及每一行显示的内容都是固定不变的. 静态tableView应用广泛,常用于各种应用软件的设置界面,本案例使用静态tableView完成乐库的设置界面,如图-1所示: 图-1 1.2 方案 由图-1可以看到该界面的显示内容是固定不