一、什么是试图控制器?
视图控制器就是用来管理视图的加载、卸载、横屏竖屏显示等操作的控制器。
每一个界面都会由一个控制器来管理显示 ,单独的界面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:^{ }];