iOS开发之--使用storyboard进行跳转
iOS开发中使用故事板进行开发是非常高效的一种方式,虽然有这样那样的问题,但是不得不承认,使用sb可以在最短的时间内完成整个项目的布局,节约开发者大量的时间,而且便于修改,非常直观,虽然可能不太灵活,但是方便!
下面就来总结下常用的跳转方式:
一、纯代码界面跳转方式
1.导航控制器(UINavigationController)
[self.navigationController pushViewController:NewVC animated:YES];//跳转到下一界面
[self.navigationController popViewControllerAnimated:YES];//返回上一界面
2.使用模态弹出的方式(UIViewController)
[self presentViewController:NewVC animated:YES completion:nil];//present到下一界面
[self dismissViewControllerAnimated:YES completion:nil];//推出
3.StroryBoard的连线跳转代码实现,首先在storyBoard上创建两个视图,中间用线连接,选中中间的线段设置线的Identifider,如下图:

[self performSegueWithIdentifier:@"NewVC" sender:nil];
传值方式:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
//通过segue判断要跳转到哪个页面
if ([segue.identifier isEqualToString:@"NewVC"]) {
XXXController * destinaVC = segue.destinationViewController;
}
}
跳转到目标视图之后返回根据UINavigationController和UIViewController判断,可以根据情况自定返回方式
二、StoryBoard界面跳转
1.storyboard生成ViewController并添加按钮+storyboard中Action Segue使用modal跳转到另一个storyboard生成的ViewController;-->正常,可以进行跳转
2.storyboard生成ViewController并添加按钮+storyboard中在第一个ViewController中生成导航栏+storyboard中Action Segue使用push跳转到另一个storyboard生成的ViewController;-->正常,可以进行跳转,并可以使用导航栏自带的返回按钮返回上一个页面
3.storyboard生成ViewController并添加按钮+storyboard中不添加任何导航栏+使用presentViewController跳转到另一个xib生成的ViewController;-->正常,可以进行跳转
4.storyboard生成ViewController并添加按钮+storyboard中添加导航栏+使用pushViewController跳转到另一个xib生成的ViewController;-->正常,可以进行跳转,并可以使用导航栏自带的返回按钮返回上一个页面
5.xib生成ViewController并添加按钮+代码生成导航栏(重点)+使用pushViewController跳转到另一个xib生成的ViewController;-->正常,可以进行跳转,并可以使用导航栏自带的返回按钮返回上一个页面
三、系统的方法,利用id加载的方式来进行跳转,代码如下:
UIStoryboard *mainSB = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
SelfDetailViewController *selfdetailVC = [mainSB instantiateViewControllerWithIdentifier:@"ChangeSecondPWViewController"];
[self.navigationController pushViewController:selfdetailVC animated:YES];
iOS开发之--使用storyboard进行跳转的更多相关文章
- iOS开发-使用Storyboard进行界面跳转及传值
前言:苹果官方是推荐我们将所有的UI都使用Storyboard去搭建,Storyboard也是一个很成熟的工具了.使用Storyboard 去搭建所有界面,我们可以很迅捷地搭建出复杂的界面,也就是说能 ...
- iOS开发-应用之间的跳转及通信
Update 2016-08-12: 在Github的Demo上增加Mac自定义Url Scheme,可以在Safari上输入特定协议头打开应用,并传递参数) 简介 我们接下来将要实现应用程序之间的跳 ...
- iOS开发教程:Storyboard全解析-第一部分
本文转载至http://blog.csdn.net/chang6520/article/details/7945845 感谢原文作者分享 故事版(Storyboard)是一个能够节省你很多设计 ...
- iOS开发之使用Storyboard预览UI在不同屏幕上的运行效果
在公司做项目一直使用Storyboard,虽然有时会遇到团队合作的Storyboard冲突问题,但是对于Storyboard开发效率之高还是比较划算的.在之前的博客中也提到过,团队合作使用Storyb ...
- IOS开发之获取Storyboard创建的ViewController
前面的两篇博客都是学习有关屏幕适配也就是相对布局的东西,这篇博客中将会学习视图间的切换.视图间的切换我们可以用代码完成或者用storyboard来建立各个视图控制器间的关系.在需要用到代码进行切换时会 ...
- IOS开发UI基础storyboard相关概念的认识
本文主要介绍一些基本的概念 为后面的学习做个准备 需要了解的知识点有以下几个方面: storyboard文件的认识 IBAction 和IBOutlet UIViewController控制器的认识 ...
- iOS开发系列-应用程序之间跳转
概述 常见的涉及到应用程序之间的跳转场景,比如社交分享.支付宝.微信支付.链接跳转到应用. 在iOS中应用跳转的本质:打开一个应用只需要拿到对应应用的URL即可. 统一资源定位符 URL(统一资源定位 ...
- ios开发——实用技术篇&应用间跳转
应用之间的跳转 说明:本文介绍app如何打开另一个app,并且传递数据. 一.简单说明 新建两个应用,分别为应用A和应用B. 实现要求:在appA的页面中点击对应的按钮,能够打开appB这个应用. 1 ...
- iOS开发之--使用storyboard下,tabbar小图标和文字颜色的设置
在开发项目的时候,如果是使用故事版设计的架构,那么在设置tabbar小图标的时候,可能会出现一点小问题, 成功的设置方法如下: 1.设置seleectedImage和image,其实就是非选中状态的图 ...
随机推荐
- sphinx和mysql like对比
一共有3093326条企业数据,其中sphinx代码如下: <?php function microtime_float() { list($usec, $sec) = explode(&quo ...
- 让 sphinx 支持中文、日文和韩文
在国内搜索 sphinx 的话找到的资源好像都是挺久远的,无奈之下只好跑到国外去找了.听起来有点不可思议,但是最近整 sphinx 的时候突然想到 mediawiki 官方有 sphinx 的安装介绍 ...
- baidu经纬度坐标与google经纬度坐标都转换
baidu经纬度坐标与google经纬度坐标都是经过转换的.使用下面那个url可以将原始坐标或者谷歌的坐标转换成baidu的坐标http://api.map.baidu.com/ag/coord/co ...
- mysql中日期操作
1 获取当前时间 now() select now(); +---------------------+ | now() | +---------------------+ | -- :: | +-- ...
- Sql UNION 合并多个结果集并排序
1.建表语句及测试数据: --创建表A CREATE TABLE A( A1 int NULL, A2 nvArchAr(50) NULL, A3 decimAl(18, 0) NULL ) --测试 ...
- [Jobdu] 题目1507:不用加减乘除做加法
题目描述: 写一个函数,求两个整数之和,要求在函数体内不得使用+.-.*./四则运算符号. 输入: 输入可能包含多个测试样例.对于每个测试案例,输入为两个整数m和n(1<=m,n<=100 ...
- Java常量池解析与字符串intern简介
在Java应用程序运行时,Java虚拟机会保存一份内部的运行时常量池,它区别于class文件的常量池,是class文件常量池映射到虚拟机中的数据结构. 关于class文件常量池的部分可以参考之前的博文 ...
- Linux(Ubuntu/Debian/CentOS/RedHat)下交叉编译boost库
我用的软件版本如下(其他版本编译方法与此完全相同): Boost Ver: 1.55.0Compiler : GNU gcc 4.6 for ARM 1. 确保ARM编译成功安装,并配置好环境变量.2 ...
- MySql Trace
MySql Trace 2015-09-25 目录 1 版本简要2 在线设置 2.1 打开命令列界面 2.2 设置参数3 查看结果 在MsSQL Server中我们要追踪SQL,只需要开启MS S ...
- Python字符与ASCII码转换
有两个内置函数,记得以前在<Python Cookbook>里看到过. >>>print ord('a') 97 >>>print chr(97) a