ios的页面跳转

一种通过导航,一种直接跳

第一种直接跳转思路大致就是new一个目的页面,然后设置下页面跳转动画中间还可以做点目的页面的数据初始化:

ValueInputView *valueView = [[ValueInputView alloc] initWithNibName:@"ValueInputView"bundle:[NSBundle mainBundle]];

    valueView.delegate = self;

    [valueView setModalTransitionStyle:UIModalTransitionStyleCoverVertical];

    [self presentModalViewController:valueView animated:YES];

//返回 

[self dismissModalViewControllerAnimated:YES];

第二:

利用UINavigationController,调用pushViewController,进行跳转;这种采用压栈和出栈的方式,进行Controller的管理。调用popViewControllerAnimated方法可以返回

PickImageViewController *ickImageViewController = [[PickImageViewController alloc] init]; 

[self.navigationController pushViewController: ickImageViewController animated:true];

四种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(当前上下文) -- 以原始场景的显示方式展示场景。

相关推荐