reference:http://blog.csdn.net/engandend/article/details/11706323

目前,就我所学到的内容,页面跳转有三种方法

一、直接推到下一个页面

定义好两个页面之后,在第一个界面添加一个button 并且对button实现changView方法

  1. -(IBAction)chang:(id)sender;

在 .m 文件里面实现

  1. -(void)chang:(id)sender{
  2. second *secondview = [[second alloc] initWithNibName:@"second" bundle:nil];
  3. [self presentViewController:secondview animated:YES completion:^{}];
  4. }

备注:second是第二个页面   这样就实现了第一种页面跳转,这种跳转的效果是从下面往上移动的效果

页面返回

当然,用这种方法来推到下一个页面,有时候还需要返回到上一个页面的时候,就需要额外实现一个方法 ,与  presentViewController:  对应的返回方法为dismissViewControllerAnimated:   在第二个页面添加一个button  对其添加一个方法,方法的实现里面加上这一行代码就可以了

  1. [self presentViewController:firstview animated:YES completion:^{}];
  2. [self dismissViewControllerAnimated:YES completion:^{}];

二、导航条跳转 UINavigationController

这个跳转方法需要的是借用UINavigationController来实现

UINavigationController相当于是一个容器,然后将所有的view都放到这个容器里面去

在代理.m 文件里面添加以下代码

就是添加一个导航条

  1. UINavigationController *_navTest = [[UINavigationController alloc] initWithRootViewController:_viewController];

导航条加进去之后第一个页面要加载哪一个?  用这一行代码来实现,并且是替换掉以前的那一个

  1. self.window.rootViewController = _navTest;

可以选择添加的代码:在  .m  加载的方法里面  添加这个页面的titile

  1. [self setTitle:@"first"];

实现的方法

  1. -(void)chang:(id)sender{
  2. second *secondview = [[second alloc] initWithNibName:@"second" bundle:nil];
  3. [self.navigationController pushViewController:secondview animated:YES];
  4. }

页面跳转之后,当然,自带的导航条上就有一个返回按钮,但是如果我们要自己代码实现这一个放回到上一个页面的话,我们用dismissViewControllerAnimated:是不能实现的,咋这里需要用的是popViewControllerAnimated  具体代码的实现为:

  1. [self.navigationController popViewControllerAnimated:YES];

这样就完成了  两种页面的跳转和返回了

第三种,将其他页面直接加到当前页面

  1. view1=[[view21 alloc]initWithNibName:@"view21" bundle:nil];
  2. [mainScr addSubview:view1.view];
  3. view1.view.frame=CGRectMake(0, 0, 1024, 768);

其对应的返回到前一个页面的方法可以使用

  1. [view1 removeFromSuper];

但是具体和addsubview是不是对应的我还在研究中····

第四种:

introView = [[CompanyIntroViewController alloc]init];

[self.view insertSubview:introView.view aboveSubview:backImageView];

有待验证

 
 

ios页面跳转的更多相关文章

  1. iOS页面跳转及数据传递

    转: http://blog.csdn.net/wang9834664/article/details/8025571 iOS页面跳转: 第一种 [self.navigationController  ...

  2. iOS 页面跳转传值,属性传值,代理传值,代码块传值,单例传值,通知传值

    有时候我们在页面跳转的时候回传递相应的参数,如,你想把在第一个页面的文本框里的内容显示在第二个文本框中,或者你又想把第二个文本框中的内容改变之后到第一个页面的文本框中,所有,这个时候我们就要用到页面跳 ...

  3. iOS 页面跳转,离开之前pop掉navigationController栈中的页面

    http://blog.csdn.net/worldzhy/article/details/41312713 - (void)viewDidDisappear:(BOOL)animated { //因 ...

  4. iOS——使用StroryBoard页面跳转及传值

    之前在网上搜iOS的页面跳转大多都是按回以前的那种xib的形式,但鄙人是使用storyboard的.这篇就只介绍利用storyboard进行页面跳转与传值. 新建页面 iOS的程序也是使用了MVC的思 ...

  5. phonegap + 推送 + 页面跳转 (ios)

    os如果没有页面跳转的需求的话就使用极光推送,如果有页面跳转如果用了极光推送就只有用oc去写,但是我不会oc,所以智能放弃极光选用ios自己的apns来实现 新建项目跟安卓创建项目差不多,新建完成后就 ...

  6. ios&h5混合开发项目仿app页面跳转优化

    前言:本人原本是ios开发工程师,但由于现今H5的兴起,行内刮起了一阵混合开发的风气,趁着这股劲,我也学了前端开发,不说研究的多深,但也能胜任日常的开发工作.长话短说,现今的混合开发应该还处于摸索阶段 ...

  7. iOS使用StroryBoard页面跳转及传值

    之前在网上iOS的页面跳转大多都是按回以前的那种xib的形式,但鄙人是使用storyboard的.这篇就只介绍利用storyboard进行页面跳转与传值. 新建页面 iOS的程序也是使用了MVC的思想 ...

  8. IOS 页面间跳转

    常用的就两种 一种通过导航,一种直接跳 第一种 直接跳转 思路大致就是new一个目的页面,然后设置下页面跳转动画 中间还可以做点目的页面的数据初始化: ValueInputView *valueVie ...

  9. ios基础之 透过页面跳转来认识 Strong 与 Weak

    最近在自己做一个小程序,遇到了页面跳转的问题,然后上网一通乱搜,跳转的问题解决了,又有传值的问题.上面两个问题解决了,又发现内存比刚开始时多占用了2M,于是,各种内心纠结,想彻底 搞清楚strong ...

随机推荐

  1. android 5.0

    google 2014开发大会发布了全新的设计语言Material Design,并计划将其应用到Android.Chrome OS和网页等平台上,而最新发布的Android L系统就采用了这种设计语 ...

  2. 使用NGUI进行类似Button的操作

    下面例子以Label和Sprite为例,进行说明如何在NGUI中对控件添加单击响应的事件方法. 首先在UIRoot下添加Label控件,然后Scene场景中右键Label-->Attach--& ...

  3. 第11章 类的高级特性--final

    1.final变量 (1)final关键字可用于变量声明,一旦该变量被设定,就不可以再改变该变量的值.通常,由final定义的变量为常量.例如:final double PI=3.14; final关 ...

  4. BD string 百度之星初赛的题目 数学

    http://acm.hdu.edu.cn/showproblem.php?pid=5694 可以说这道题目挺考验思维含量的吧 首先,这个和数位dp是差不多的方法,计算cal(l)-cal(l-1): ...

  5. Installation error: INSTALL_FAILED_UID_CHANGED 的解决办法

    出现此问题的原因大多是apk冲突造成,解决的办法如下: 1.  Settings -> Applications, 卸载出现问题的apk,重新安装即可. 2. 如果apk无法卸载,则将apk相关 ...

  6. Repeater嵌套gridview

    前台:<asp:Repeater ID="Repeater1" runat="server" DataSourceID="SqlDataSour ...

  7. 初始化Direct3D

    1.Direct3D概述 Direct3D是一套底层图形API,借助该API,我们能够利用硬件加速功能来绘制3D场景. 设备制造商将其产品支持的全部功能都实现到HAL中. 1.1 Direct3D提供 ...

  8. EasyUI知识点

    1. easyUI实现动态列,js实现 $('#dg').datagrid({ height: 340, url: '${path}/salary/datas.do', method: 'POST', ...

  9. iOS图片缓存框架SDWebImage

    本文转发至: http://blog.csdn.net/uxyheaven/article/details/7909373 http://www.cocoachina.com/ios/20141212 ...

  10. Windows下编译mxnet

    操作系统: 64位Windows10 mxnet的构建和安装包括两个步骤: 第一步,编译出共享库 libmxnet.dll. 第二步,安装语言包,比如python等. 最小编译要求: 最新的支持C++ ...