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进行跳转的更多相关文章

  1. iOS开发-使用Storyboard进行界面跳转及传值

    前言:苹果官方是推荐我们将所有的UI都使用Storyboard去搭建,Storyboard也是一个很成熟的工具了.使用Storyboard 去搭建所有界面,我们可以很迅捷地搭建出复杂的界面,也就是说能 ...

  2. iOS开发-应用之间的跳转及通信

    Update 2016-08-12: 在Github的Demo上增加Mac自定义Url Scheme,可以在Safari上输入特定协议头打开应用,并传递参数) 简介 我们接下来将要实现应用程序之间的跳 ...

  3. iOS开发教程:Storyboard全解析-第一部分

    本文转载至http://blog.csdn.net/chang6520/article/details/7945845 感谢原文作者分享     故事版(Storyboard)是一个能够节省你很多设计 ...

  4. iOS开发之使用Storyboard预览UI在不同屏幕上的运行效果

    在公司做项目一直使用Storyboard,虽然有时会遇到团队合作的Storyboard冲突问题,但是对于Storyboard开发效率之高还是比较划算的.在之前的博客中也提到过,团队合作使用Storyb ...

  5. IOS开发之获取Storyboard创建的ViewController

    前面的两篇博客都是学习有关屏幕适配也就是相对布局的东西,这篇博客中将会学习视图间的切换.视图间的切换我们可以用代码完成或者用storyboard来建立各个视图控制器间的关系.在需要用到代码进行切换时会 ...

  6. IOS开发UI基础storyboard相关概念的认识

    本文主要介绍一些基本的概念 为后面的学习做个准备 需要了解的知识点有以下几个方面: storyboard文件的认识 IBAction 和IBOutlet UIViewController控制器的认识 ...

  7. iOS开发系列-应用程序之间跳转

    概述 常见的涉及到应用程序之间的跳转场景,比如社交分享.支付宝.微信支付.链接跳转到应用. 在iOS中应用跳转的本质:打开一个应用只需要拿到对应应用的URL即可. 统一资源定位符 URL(统一资源定位 ...

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

    应用之间的跳转 说明:本文介绍app如何打开另一个app,并且传递数据. 一.简单说明 新建两个应用,分别为应用A和应用B. 实现要求:在appA的页面中点击对应的按钮,能够打开appB这个应用. 1 ...

  9. iOS开发之--使用storyboard下,tabbar小图标和文字颜色的设置

    在开发项目的时候,如果是使用故事版设计的架构,那么在设置tabbar小图标的时候,可能会出现一点小问题, 成功的设置方法如下: 1.设置seleectedImage和image,其实就是非选中状态的图 ...

随机推荐

  1. 【LeetCode】103. Binary Tree Zigzag Level Order Traversal

    Binary Tree Zigzag Level Order Traversal Given a binary tree, return the zigzag level order traversa ...

  2. Oracle相关操作示例(导出导入dmp需要采用)

    删除用户:drop user pnxd cascade; 导出数据:exp pnxd/padmin@A file=c:\bb.dmp full=y 导入数据:imp pnxd/padmin@PNXD ...

  3. 稳固而窒息 jquery attr 和 Prop的区别

    通常在获取或者设置checked,selected,readonly,disabled等的时候使用prop效果更好 attr是通过setAtrribute和getAttribute来设置的,使用的是D ...

  4. Linux find 命令概览

    Linux下find命令在目录结构中搜索文件,并执行指定的操作.Linux下find命令提供了相当多的查找条件,功能很强大.由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时 ...

  5. ubuntu学习教程

    1:搜狗输入法安装: http://jingyan.baidu.com/article/adc815134f4b92f722bf7350.html 2:flash插件的安装: http://jingy ...

  6. ajax创建

    ajax对象创建和使用 //创建ajax对象 function createXMLhttp(){ var xmlhttp; if(window.XMLHttpRequest) {// code for ...

  7. Atitit.网页爬虫的架构总结

    Atitit.网页爬虫的架构总结 1. 总数的结构..(接口方法) 1 2. 获得页数 1 3. 跳页处理(接口方法) 2 4. 单个的页面处理(接口方法) 2 4.1. 获得页面url 3 4.2. ...

  8. netty内存泄漏

    关于netty本身内存泄漏的资料,在此记录一下:https://blog.csdn.net/hannuotayouxi/article/details/78827499

  9. ENGINE_API CXNoTouch

    /************************************************************************/ //屏蔽消息面板 //优先级默认为 TP_BOTT ...

  10. vue的路由使用

    1). 安装 vue-router npm install vue-router --save 2). 新建路由配置 安装成功后,在 src 新建 router 文件夹,然后新建 index.js 文 ...