页面之间跳转
两种跳转方式: 一种通过导航,一种直接跳
方法1:
利用UINavigationController, 调用pushViewController, 进行跳转;
这种采用压栈和出栈的方式, 进行Controller的管理。调用popViewControllerAnimated方法可以返回。
ImageViewController *imageViewController = [[ImageViewController alloc] init];
[self.navigationController pushViewController: imageViewController animated:true];
[imageViewController release];
方法2:
利用UIViewController自身的presentModalViewController, 进行跳转; 调用dismissModalViewControllerAnimated方法可以返回。
ImageViewController *imageViewController = [[ImageViewController alloc] init];
[self presentModalViewController:imageViewController animated:YES];
[self dismissModalViewControllerAnimated:YES]; //返回
四种setModalTransitionStyle风格
UIModalTransitionStyleCoverVertical 从底部滑入 UIModalTransitionStyleFlipHorizontal,水平翻转进入 UIModalTransitionStyleCrossDissolve,交叉溶解 UIModalTransitionStylePartialCurl,翻页
场景切换
多个场景之间切换的样式(Style)总共有5个:
Modal(模态) -- 过渡到另一个场景,以完成一项任务。任务完成后,将关闭该场景,并返回到原来的场景。
Push(压入) -- 创建一个场景链,用户可在其中前后移动。用于导航视图控制器。
Replace(替换,仅适用于iPad) -- 替换当前场景,用于一些iPad特有的视图控制器。
Popover(弹出框,仅适用于iPad) -- 一个带箭头的弹出框。
Custome(自定义) -- 通过编译在场景之间进行自定义过渡。
过渡类型(Transition)是从一个场景切换到另一个场景时播放的动画。有4个选项:
Cover Vertical -- 新场景从下向上移动,逐渐覆盖旧场景。
Flip Horizontal -- 视图水平翻转,以显示背面的新场景。
Cross Dissolve -- 旧场景淡出,新场景淡入。
Partial Curl -- 旧场景像书页一样翻开,显示下面的新场景。
在iPad应用程序中,还会多出一个Presentation属性,它决定了模态视图在屏幕上的显示方式。有4种显示样式:
Form Sheet(表单) -- 将场景调整到比屏幕小(不管朝向),并在当前场景后面显示原始场景,这几乎相当于在一个iPad窗口中显示。
Page Sheet(页面) -- 调整场景大小,使其以纵向格式显示。
Full Screen(全屏) -- 调整场景大小,使其覆盖整个屏幕。
Current Context(当前上下文) -- 以原始场景的显示方式展示场景。