视图控制器的种类
1.UIViewController 用于自定义视图控制器的导航
2.UINavigationController 导航控制器,它与 UITableViewController结合使用,能够构建树形结构导航模式。
3UITabBarController 。标签栏控制器,用于构建树标签导航模式。
4UIPageViewController 。呈现电子书导航风格的控制器。
5UISplitViewController。可以把屏幕分割成几块的视图控制器,主要为 iPad屏幕设计。
6UIPopoverController。呈现“气泡”风格视图的控制器,主要为 iPad屏幕设计。
导航模式
1平铺导航模式
2标签导航模式
3树形结构导航模式
模态视图
presentViewController:animated:completion 。呈现模态视图。
dismissViewControllerAnimated:completion。关闭模态视图。
回传参数
委托设计模式或广播通知机制进行回传
注册一个自定义通知
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(registerCompletion:)
name:@"RegisterCompletionNotification"
object:nil];
投送通知
[[NSNotificationCenter defaultCenter]
postNotificationName:@"RegisterCompletionNotification"
object:nil
userInfo:dataDict];
基于分屏导航的实现
分屏控件( UIPageControl )和滚动视图
( ScrollView)
基于分页导航的实现
UIPageViewController
在基于分页导航实现的应用中, 需要的类和协议有 UIPageViewControllerDataSource 协议、
UIPageViewControllerDelegate 协议和UIPageViewController类,其中 UIPageViewController类没有对应
的视图类。
UIPageViewControllerDataSource 数据源协议中必须要实现的方法有以下两个。
pageViewController:viewControllerBeforeViewController:。返回当前视图控制器之前的视图
控制器,用于上一个页面的显示。
pageViewController:viewControllerAfterViewController:。返回当前视图控制器之后的视图控制器,用于下一个页面的显示
在UIPageViewControllerDelegate 委托协议中, 最重要的方法为 pageViewController:spine-
LocationForInterfaceOrientation: ,它根据屏幕旋转方向设置书脊位置( Spine Location)和初始化首页。
在UIPageViewController中,共有两个常用的属性:双面显示( doubleSided)和书脊位置(spineLocation)。
双面显示 为doubleSided设置为 YES
书脊位置 。书脊位置由枚举 UIPageViewControllerSpineLocation定义
UIPageViewControllerSpineLocationMin书将从右向左翻(或从下往上翻)。
UIPageViewControllerSpineLocationMax 书将从左向右翻(或从上往下翻)。
UIPageViewControllerSpineLocationMid 屏幕分成两个页面