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 ...
随机推荐
- Mesos架构简介
1. 前言 同其他大部分分布式系统一样,Apache Mesos为了简化设计,也是采用了master/slave结构,为了解决master单点故障,将master做得尽可能地轻量级,其上面所有的元数据 ...
- Ubuntu下安装Intellij IDEA和PyCharm
需要先安装JDK 官网下载 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 下载 ...
- C4.5算法总结
C4.5是一系列用在机器学习和数据挖掘的分类问题中的算法.它的目标是监督学习:给定一个数据集,其中的每一个元组都能用一组属性值来描述,每一个元组属于一个互斥的类别中的某一类.C4.5的目标是通过学习, ...
- Disassembly2:Built-in Type
先贴一段代码: 跟踪后看到:
- EXCEL读写NPOI
1.第一步: 可以使用ExcelAutomation进行EXCEl文件的读写,但是需要电脑上安装EXCEL,对EXCEL版本有要求,速度慢,有安全性,并发性问题,不适合网站类项目. 第二种方法: NP ...
- C# 经典入门15章 -ListView 【未附代码】
- 1317: Square(DFS+剪枝)
Description Given a set of sticks of various lengths, is it possible to join them end-to-end to form ...
- Android Studio调试功能使用总结---转
Android Studio调试功能使用总结[转] 这段时间一直在使用Intellij IDEA, 今天把调试区工具的使用方法记录于此. 先编译好要调试的程序. 1.设置断点 选定要设置断点的代码 ...
- JAVA Timer定时器使用方法(二)
JAVA Timer 定时器测试 MyTask.java:package com.timer; import java.text.SimpleDateFormat;import java.util. ...
- 安装tomcat过程中出现问题小结
报错信息如下:Neither the JAVA_HOME nor the JRE_HOME environment variable is defined At least one of these ...