ios页面跳转
reference:http://blog.csdn.net/engandend/article/details/11706323
目前,就我所学到的内容,页面跳转有三种方法
一、直接推到下一个页面
定义好两个页面之后,在第一个界面添加一个button 并且对button实现changView方法
- -(IBAction)chang:(id)sender;
在 .m 文件里面实现
- -(void)chang:(id)sender{
- second *secondview = [[second alloc] initWithNibName:@"second" bundle:nil];
- [self presentViewController:secondview animated:YES completion:^{}];
- }
备注:second是第二个页面 这样就实现了第一种页面跳转,这种跳转的效果是从下面往上移动的效果
页面返回
当然,用这种方法来推到下一个页面,有时候还需要返回到上一个页面的时候,就需要额外实现一个方法 ,与 presentViewController: 对应的返回方法为dismissViewControllerAnimated: 在第二个页面添加一个button 对其添加一个方法,方法的实现里面加上这一行代码就可以了
- [self presentViewController:firstview animated:YES completion:^{}];
- [self dismissViewControllerAnimated:YES completion:^{}];
二、导航条跳转 UINavigationController
这个跳转方法需要的是借用UINavigationController来实现
UINavigationController相当于是一个容器,然后将所有的view都放到这个容器里面去
在代理.m 文件里面添加以下代码
就是添加一个导航条
- UINavigationController *_navTest = [[UINavigationController alloc] initWithRootViewController:_viewController];
导航条加进去之后第一个页面要加载哪一个? 用这一行代码来实现,并且是替换掉以前的那一个
- self.window.rootViewController = _navTest;
可以选择添加的代码:在 .m 加载的方法里面 添加这个页面的titile
- [self setTitle:@"first"];
实现的方法
- -(void)chang:(id)sender{
- second *secondview = [[second alloc] initWithNibName:@"second" bundle:nil];
- [self.navigationController pushViewController:secondview animated:YES];
- }
页面跳转之后,当然,自带的导航条上就有一个返回按钮,但是如果我们要自己代码实现这一个放回到上一个页面的话,我们用dismissViewControllerAnimated:是不能实现的,咋这里需要用的是popViewControllerAnimated 具体代码的实现为:
- [self.navigationController popViewControllerAnimated:YES];
这样就完成了 两种页面的跳转和返回了
第三种,将其他页面直接加到当前页面
- view1=[[view21 alloc]initWithNibName:@"view21" bundle:nil];
- [mainScr addSubview:view1.view];
- view1.view.frame=CGRectMake(0, 0, 1024, 768);
其对应的返回到前一个页面的方法可以使用
- [view1 removeFromSuper];
但是具体和addsubview是不是对应的我还在研究中····
第四种:
introView = [[CompanyIntroViewController alloc]init];
[self.view insertSubview:introView.view aboveSubview:backImageView];
有待验证
ios页面跳转的更多相关文章
- iOS页面跳转及数据传递
转: http://blog.csdn.net/wang9834664/article/details/8025571 iOS页面跳转: 第一种 [self.navigationController ...
- iOS 页面跳转传值,属性传值,代理传值,代码块传值,单例传值,通知传值
有时候我们在页面跳转的时候回传递相应的参数,如,你想把在第一个页面的文本框里的内容显示在第二个文本框中,或者你又想把第二个文本框中的内容改变之后到第一个页面的文本框中,所有,这个时候我们就要用到页面跳 ...
- iOS 页面跳转,离开之前pop掉navigationController栈中的页面
http://blog.csdn.net/worldzhy/article/details/41312713 - (void)viewDidDisappear:(BOOL)animated { //因 ...
- iOS——使用StroryBoard页面跳转及传值
之前在网上搜iOS的页面跳转大多都是按回以前的那种xib的形式,但鄙人是使用storyboard的.这篇就只介绍利用storyboard进行页面跳转与传值. 新建页面 iOS的程序也是使用了MVC的思 ...
- phonegap + 推送 + 页面跳转 (ios)
os如果没有页面跳转的需求的话就使用极光推送,如果有页面跳转如果用了极光推送就只有用oc去写,但是我不会oc,所以智能放弃极光选用ios自己的apns来实现 新建项目跟安卓创建项目差不多,新建完成后就 ...
- ios&h5混合开发项目仿app页面跳转优化
前言:本人原本是ios开发工程师,但由于现今H5的兴起,行内刮起了一阵混合开发的风气,趁着这股劲,我也学了前端开发,不说研究的多深,但也能胜任日常的开发工作.长话短说,现今的混合开发应该还处于摸索阶段 ...
- iOS使用StroryBoard页面跳转及传值
之前在网上iOS的页面跳转大多都是按回以前的那种xib的形式,但鄙人是使用storyboard的.这篇就只介绍利用storyboard进行页面跳转与传值. 新建页面 iOS的程序也是使用了MVC的思想 ...
- IOS 页面间跳转
常用的就两种 一种通过导航,一种直接跳 第一种 直接跳转 思路大致就是new一个目的页面,然后设置下页面跳转动画 中间还可以做点目的页面的数据初始化: ValueInputView *valueVie ...
- ios基础之 透过页面跳转来认识 Strong 与 Weak
最近在自己做一个小程序,遇到了页面跳转的问题,然后上网一通乱搜,跳转的问题解决了,又有传值的问题.上面两个问题解决了,又发现内存比刚开始时多占用了2M,于是,各种内心纠结,想彻底 搞清楚strong ...
随机推荐
- JQuery选择所有标题的元素
$(":header") 参考:http://www.w3school.com.cn/jquery/selector_header.asp
- 零成本实现Android/iOS自动化测试:基于Appium和Test Perfect
https://item.taobao.com/item.htm?spm=a230r.1.14.14.42KJ3L&id=527677900735&ns=1&abbucket= ...
- Codeforces Round #272 (Div. 1) B 构造 math
http://www.codeforces.com/contest/477/problem/C 题目大意:给你n个集合,每个集合里面有四个数字,他们的gcd是k,输出符合条件的集合中m,m为集合中最大 ...
- Android SERVICE后台服务进程的自启动和保持
Service组件在android开发中经常遇到,其经常作为后台服务,需要始终保持运行,负责处理一些必要(见不得人)的任务.而一些安全软件,如360等,会有结束进程的功能,如果不做Service的保持 ...
- android4.0蓝牙使能的详细解析(转)
源:http://www.cnblogs.com/xiaochao1234/p/3818193.html 本文详细分析了android4.0 中蓝牙使能的过程,相比较android2.3,4.0中的蓝 ...
- 超级素数(sprime)
超级素数(sprime) 题目描述 超级素数是指一个素数,每去掉后面一个数字,总能保证剩下的数为质数,例如:373->37->3这是一个长为3的超级素数. 输入 输入一个整数n (10≤n ...
- 对Viewcontroller在UINavigationController中入栈出栈的一点点理解
转载自:http://blog.csdn.net/intheair100/article/details/41119073 wait_record_arr 在viewdidload里面被alloc,如 ...
- string字符串转C风格字符串 进而转换为数字
要求如题 头文件stdlib.h中有一个函数atof() 可以将字符串转化为双精度浮点数(double) double atof(const char *nptr); 此字符串为C风格字符串,因此需要 ...
- USACO Section 1.2 Dual Palindromes 解题报告
题目 题目描述 有一些数(如 21),在十进制时不是回文数,但在其它进制(如二进制时为 10101)时就是回文数. 编一个程序,从文件读入两个十进制数N.S.然后找出前 N 个满足大于 S 且在两种以 ...
- 使用Dreamweaver格式化HTML代码
今天偶然发现了DreamWeaver(DW)的一个非常有用的功能,就是代码的格式化功能.一般情况下,我们写的html或者css代码都计较混乱,难以阅读,即使刚开始很在意代码的可读性,但是等到所使用的标 ...