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

时间: 2024-09-30 09:03:09

IOS 疯狂基础之 页面间跳转的相关文章

iOS页面间跳转的性能优化(二)

续言 在页面间跳转的性能优化(一)中介绍了一些基础知识,讲述了情形一与情形二的优化方式及原理,但有许多人对情形二最后两种处理方式的原理表示不理解,不清楚处理过程,接下来会详细分步地讲述这两种方式的原理,如果你还没看过页面间跳转的性能优化(一),请先阅读. 点击下载Demo,或https://github.com/IOSDelpan/SmoothTransitionDemo. 页面间的跳转大致分为几个任务:1.生成将即显示的页面视图:2.生成我们所需要的UI元素:3.生成页面跳转的动画:而这几个任

IOS 页面间跳转

常用的就两种 一种通过导航,一种直接跳 第一种 直接跳转 思路大致就是new一个目的页面,然后设置下页面跳转动画 中间还可以做点目的页面的数据初始化: ValueInputView *valueView = [[ValueInputView alloc] initWithNibName:@"ValueInputView"bundle:[NSBundle mainBundle]]; valueView.delegate = self; [valueView setModalTransit

页面间跳转的性能优化(一)

前言 现在App的页面越来越复杂,页面初始化的工作越来越多,加载页面所需的时间也随之增长,如果页面加载的时间过长,这将会影响App的流畅度及用户体验,我们需要解决这一问题.观察过一些日常使用的App,页面间跳转的性能问题总结为以下三种情形: 1).A页面跳转到B页面,由于B页面需要加载大量的数据,所以导致页面跳转延迟. 2).A页面跳转到B页面,由于B页面需要加载大量UI元素,所以导致页面跳转延迟. 3).A页面跳转到B页面,由于A或B页面的GPU使用率过高,所以导致面页跳转时出现过场动画不流畅

ios页面间跳转方式总结

转自:http://www.cnblogs.com/anywherego/p/3542202.html 下面以OldViewController(oldC)的按钮btn点击后跳转到NewViewController(newC)为例说明: 1.Storyboard的segues方式 鼠标点击按钮btn然后按住control键拖拽到newC页面,在弹出的segue页面中选择跳转模式即可 优点:操作方便,无代码生成,在storyboard中展示逻辑清晰 缺点:页面较多时不方便查看,团队合作时可维护性差

ios开发——实用技术篇&应用间跳转

应用之间的跳转 说明:本文介绍app如何打开另一个app,并且传递数据. 一.简单说明 新建两个应用,分别为应用A和应用B. 实现要求:在appA的页面中点击对应的按钮,能够打开appB这个应用. 1.新建两个应用,分别为A和B.     2.设置应用B的url. 3.在应用A中编写打开app的代码 点击之后,会跳转到新的控制器. 注意:打开应用B的过程中,B有两种状态. 第一种状态:B并没有启动,那么会启动B.并调用下面的方法. 第二种状态:此时B已经启动了,但是在后台运行,这个时候不会调用该

页面间跳转方式总结

下面以OldViewController(oldC)的按钮btn点击后跳转到NewViewController(newC)为例说明: 1.Storyboard的segues方式 鼠标点击按钮btn然后按住control键拖拽到newC页面,在弹出的segue页面中选择跳转模式即可 优点: 操作方便,无代码生成,在storyboard中展示逻辑清晰. 缺点: 页面较多时不方便查看,团队合作时可维护性差,多人合作时不建议使用这种方式. 2.选项卡UITabBarController控制器 通过调用U

Html页面间跳转之数据传递

1.页面数据传递需要引入一个js文件,代码 UrlParm = function() { // url参数 var data, index; (function init() { data = []; index = {}; var u = window.location.search.substr(1); if (u != '') { var parms = decodeURIComponent(u).split('&'); for (var i = 0, len = parms.length

iOS页面间传值的方式(Delegate/NSNotification/Block/NSUserDefault/单例)

iOS页面间传值的方式(NSUserDefault/Delegate/NSNotification/Block/单例) 实现了以下iOS页面间传值:1.委托delegate方式:2.通知notification方式:3.block方式:4.UserDefault或者文件方式:5.单例模式方式:6.通过设置属性,实现页面间传值 在iOS开发中,我们经常会遇到页面间跳转传值的问题,现归纳总结一下: 情况1:A页面跳转到B页面 方法: 在B页面的控制器中,编写对应的属性,在A页面跳转到B页面的地方,给

iOS页面间传值的方式

实现了以下iOS页面间传值:1.委托delegate方式:2.通知notification方式:3.block方式:4.UserDefault或者文件方式:5.单例模式方式:6.通过设置属性,实现页面间传值 在iOS开发中,我们经常会遇到页面间跳转传值的问题,现归纳总结一下: 情况1:A页面跳转到B页面 方法: 在B页面的控制器中,编写对应的属性,在A页面跳转到B页面的地方,给B的属性赋值即可 //SecondViewController.h @property(nonatomic) NSInt