ios7.0结合storyborad实现页面跳转的总结
折腾了一整天,本文总结一下ios7.0页面跳转有关的内容
storyboard的潜规则
我接触ios很晚,环境已经是xcode5+ios7,所以对以前的IOS开发模式并不了解。在网上查阅了很多资料,发现以前的代码,很多都需要自己coding来创建ViewController,比如:
- WTwoViewController *controller = [[WTwoViewController alloc]initWithNibName:@"WTwoViewController" bundle:nil];
- [self presentViewController:controller animated:YES completion:nil];
但是用storyboard来管理view controller的话,storyboard会自动处理view controller的初始化动作,所以就不再需要自己coding来创建view controller的实例。在另外一篇博客里看到这句话:
“用过xib的人我相信很多人都会经常用到-presentModalViewController:animated:以及-pushViewController:animated:这两个方法。这种代码在storyboard里将成为历史;取而代之的是Segue”
基于控件的跳转
用storyboard做开发,经常需要拉线,本文不介绍,请看这篇官方文档:
start developing iOS app today
这种拉线,是从button拉到view controller:
这种方式只要点击了这个button,就会自动跳转,不需要写任何代码
直接从controller到controller
- // 跳转到bootstrap
- - (void) jumpToBootstrap{
- [self performSegueWithIdentifier:@"fromWelcomeToBootstrap" sender:self];
- }
这段代码必须写在-viewDidAppear里,不能写在-viewDidLoad里,否则会报一个错误:whose view is not in window hierarchy!
页面之间传值
- BootstrapViewController* targetController = [segue destinationViewController];// 拿到目标view controller,然后要怎么样都可以了
不过这里要注意的是,似乎不能在prepareForSegue方法里设置destination view controller的view,因为这个时候view还没有被storyboard实例化。不过可以先传参,后面再设置
- BViewController.delegate = self;
这里我不是很理解,当从B回到A的时候,也设置一个segue似乎就行了
unwind segue
ios7.0结合storyborad实现页面跳转的总结的更多相关文章
- react-router 4.0(四)页面跳转验证提示
import React from 'react' import ReactDOM from 'react-dom' import { HashRouter, Route, Link, Prompt ...
- 自定义PHP页面跳转函数redirect($url, $time = 0, $msg = '')
利用PHP的header()函数,可以实现页面跳转,如 header("Location: " . $url); 但它有个缺点,一旦HTTP报头块已经发送,就不能使用 header ...
- Android 7.0 Gallery图库源码分析4 - SlotView手势监听及页面跳转
上篇文章讲了初始化View时会实例化一个SlotView并监听其事件,至于它是怎么实现的,用的是Android自带的GestureDetector. GestureDetector是Android自带 ...
- ThinkPHP5.0框架开发实现简单的页面跳转
ThinkPHP5.0框架开发实现简单的页面跳转 一.效果 登录界面 登录成功界面 登录失败界面 二.目录结构 三.代码 控制器中的Login.php <?php // 声明命名空间 names ...
- 用weexplus从0到1写一个app(2)-页面跳转和文章列表及文章详情的编写
说明 结束连续几天的加班,最近的项目终于告一段落,今天抽点时间开始继续写我这篇拖了很久的<用weexplus从0到1写一个app>系列文章.写这篇文章的时候,weexplus的作者已经把w ...
- web设计页面跳转的方法
一.asp.net c# 打开新页面或页面跳转 1. 最常用的页面跳转(原窗口被替代):Response.Redirect("newpage.aspx"); 2. 利用url地址打 ...
- Html中设置访问页面不在后进行其他页面跳转
Html中设置访问页面不在后进行其他页面跳转 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" & ...
- Ajax发送POST请求SpringMVC页面跳转失败
问题描述:因为使用的是SpringMVC框架,所以想使用ModelAndView进行页面跳转.思路是发送POST请求,然后controller层中直接返回相应ModelAndView,但是这种方法不可 ...
- PHP页面跳转(PHP笔记)
目前学习到三种方法: 1.调用js跳转 2.header()跳转 3.调用HTML方法实现 因为一直在自己学习没有进入项目,并不知道哪个更常使用. 调用js跳转. <?php //这里是跳转方法 ...
随机推荐
- Shell学习笔记 - Shell变量
一.变量的命名 变量名必须以字母或下划线开头,由字母.数字.或下划线组成,变量名的长度不能超过255个字符. 二.变量的分类 1. 用户自定义变量 2. 环境变量 3. 位置参数变量 4. 预定义变量 ...
- Nginx负载趟过的坑
在项目中经常会碰到需要利用Nginx作负载,最近在利用Nginx作负载均衡器时碰到一个很奇葩的问题. 本来按照以前的实现将打好的A.war包直接放到tomcat根目录(webapps)下,然后按照如下 ...
- 转:怎么使用github(通俗易懂版)
转: https://www.zhihu.com/question/20070065 作者:珊姗是个小太阳链接:https://www.zhihu.com/question/20070065/ans ...
- Linux 字符设备驱动模型
一.使用字符设备驱动程序 1. 编译/安装驱动 在Linux系统中,驱动程序通常采用内核模块的程序结构来进行编码.因此,编译/安装一个驱动程序,其实质就是编译/安装一个内核模块 2. 创建设备文件 通 ...
- 抽奖随机算法的技术探讨与C#实现
一.模拟客户需求 1.1 客户A需求:要求每次都按照下图的概率随机,数量不限,每个用户只能抽一次,抽奖结果的分布与抽奖概率近似. 1.2 客户B需求:固定奖项10个,抽奖次数不限,每个用户只能抽一次, ...
- [老老实实学WCF] 第十篇 消息通信模式(下) 双工
老老实实学WCF 第十篇 消息通信模式(下) 双工 在前一篇的学习中,我们了解了单向和请求/应答这两种消息通信模式.我们知道可以通过配置操作协定的IsOneWay属性来改变模式.在这一篇中我们来研究双 ...
- a标签替代input的submit提交功能
在工作中有时候会遇到A标签,但是提交表单的时候我们需要用到submit来提交表单,下面几行代码很好的解决了这个问题! <div class="btn"><a hr ...
- System.Data.Entity.Internal.AppConfig 类型初始值设定项引发异常
在一开始时将connectionStrings 写在了configSections之上如下图一示,结果抛出:“System.Data.Entity.Internal.AppConfig”的类型初始值设 ...
- python基础:三元运算
学习条件运算时,对于简单的 if else 语句,可以使用三元运算来表示,即: 1 2 3 4 5 6 7 8 # 普通条件语句 if 1 == 1: name = 'wupeiqi' els ...
- Tomcat提示Null component
Tomcat提示“严重: Null component Catalina:type=JspMonitor,name=jsp,WebModule=//localhost/,J2EEApplication ...