今天在帮助群里的一个朋友弄pop事件,在他那边,当前的viewcontroller,不能pop出去。

  初步估计,他的ViewController层级多,他自己没有理清。

  因为pushViewController的时候,是执行栈入的原则,先进后出,后进先出。

  比如A->B->C->D,他这个时候,想popB,但是B的上面还有两个,分别为C和D,C和D没有出来,这个时候,B就没有办法出来。所以,即使执行了pop语句,也达不到pop的效果。

  

  然后中午我自己用storyboard拖了几个东西,简单实现了这个效果,发现自己对storyboard还是不太熟,要仔细实践啊!

  1. 调出storyboard方法:
UIStoryboard * mainStoryBoard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];

Parameters

name

The name of the storyboard resource file without the filename extension. This method raises an exception if this parameter is nil.

storyboardBundleOrNil

The bundle containing the storyboard file and its related resources. If you specify nil, this method looks in the main bundle of the current application.

Return Value

A storyboard object for the specified file. If no storyboard resource file matching name exists, an exception is thrown with description: Could not find a storyboard named 'XXXXXX' in bundle....

Discussion

Use this method to retrieve the storyboard object containing the view controller graph you want to access. All of the resources associated with the storyboard must be in the bundle indicated by the storyboardBundleOrNil parameter.

  • Name则是自己起的,在.storyboard前面的名字,如果不动,则默认是Main,而且不需要添加文件的扩展名,如果加了,就会报错;
  • bundle:这个参数包含storyboard的文件以及和它相关的资源,如果为空,则会调用当前程序的main bundle

这样,就能拿到程序里面的storyboard了。

  2.调出里面的viewcontroller

  我是在里面直接拖拽了几个viewcontroller,当需要加载这几个viewcontroller的时候,有3件事情要做

    2.1 新建ViewController的.h和.m文件,并且将storyboard里面的nib文件的class,也指向对应的VC;

    2.2 设置Storyboard ID,在Custom Class下面,有一个Identity,这个设置标识符,我们就可以找到它了,像Cell的标识符,一般和头文件名称设置为一样就可以。

    2.3 在代码里面调用它:

UIStoryboard * mainStoryBoard =[UIStoryboard storyboardWithName:@"Main" bundle:nil];
DViewController * dVC = [mainStoryBoard instantiateViewControllerWithIdentifier:@"DViewController"];
[self.navigationController pushViewController:dVC animated:YES];

  这样就可以了。功能就基本实现了。

  

熟能生巧--欢迎大家加入我们的交流群:461093715

用代码调用Storyboard里面的viewController的更多相关文章

  1. Android原生调用mui里面的js如何实现

    遍历所有运行中的webview页面,采用自带的SDK方法进行获取所有的IWebview.MUI中自带的webview是一个IWebviewArrayList<IWebview> webli ...

  2. idea安装testng插件后,无法使用调用testng里面的类

    1.已经安装好idea的testng插件,并且应用上相关的两个插件. 2.已经导入maven仓库的testng.jar,并且重启过idea后:发现不能调用. 本人在百度很多相关资料,始终没有找到解决方 ...

  3. ArcEngine 调用GP里面的Merge工具

    这两天,为ArcEngine中的Merge工具的调试伤头脑筋,明明很简单的事情,就是搞不掂儿.今天忽然想到是否是中文的关系,果然,把中文修改成英文成功了.真是快郁闷死了! public static ...

  4. 自己改写了一个图片局部放大的jquery插件页面里面的html代码少了,同一个页面可以调用多个

    自己改写了一个图片局部放大的jquery插件页面里面的html代码少了,同一个页面可以调用多个,兼容ie8以上浏览器,别忘了引用jquery,我用的jquery/1.11.0/其他版本没有测试,另外需 ...

  5. 我也谈谈 代码调用存储过程超时,SQL Server Management Studio里运行很快的问题

    最近遇到了一个问题就是 一个执行速度很快的存储过程,在代码中调用的时候却超时了. 后来看到了两篇文章: 其中一篇是这样介绍的 今天同事用代码调用存储过程时超时,在SQL Server Manageme ...

  6. [Android] (在ScrollView里嵌套view)重叠view里面的onTouchEvent的调用方法

    在我前面的自定义裁剪窗口的代码中,我把裁剪的view放在了大的scrollview里,这样就出现了程序只能触发scrollview,无法操作我的裁剪窗口.所以我加了那篇博客下面最后两段代码.其实我遇到 ...

  7. c#调用js,以及js调用C#里的函数, c#自己生成js代码,实现对web的控制

    using mshtml;using System;using System.Collections.Generic;using System.Linq;using System.Security.P ...

  8. jQuery file upload里面的_create的调用和_initEventHandlers的调用

    首先是jquery.ui.widget.js中_createWidget方法内部调用 this._create(); this._trigger( "create", null, ...

  9. dede文章调用时过滤调 body里面的style属性和值

    dede 发布文章的时候会在里面的标签中添加一些style 属性,现在改网站想去掉这些属性和里面的值,因为文章太多所以就用下面的方法 \include\arc.listview.class.php 在 ...

随机推荐

  1. C#引用COM对象,报错:《类型 *** 未定义构造函数, 无法嵌入互操作类型 *** 。请改用适用的接口》的解决办法。

    错误信息: 1.类型“SQLDMO.BackupClass”未定义构造函数 2.无法嵌入互操作类型“SQLDMO.BackupClass”.请改用适用的接口. 代码如下:                ...

  2. state配置语言实战

    修改配置文件:(base用来放初始化环境.prod用来放生产配置环境) [root@super65 ~]# vim /etc/salt/master [root@super65 ~]# mkdir - ...

  3. string.h文件中函数用法

    下面为string.h文件中函数的详细用法: strcpy函数名:strcpy功 能: 拷贝一个字符串到另一个用 法: char *strcpy(char *destin, char *source) ...

  4. 写sql语句连接的时候注意的一个小细节

    我在写权限的查询的时候,用到了sql语句的链接写一下出错的时候的代码 $sqlpid="select auth_name from sw_auth where auth_level=0&qu ...

  5. PHP显示日期、周几、农历初几、什么节日函数编程代码

    <?function rili($style,$Atime){ $debug = false; $glmonth = date("n",$Atime);    //1-12  ...

  6. windows batch语法

    windows BATCH基本知识扩展名是bat(在nt/2000/xp/2003下也可以是cmd)的文件就是批处理文件. ==== 注 =============================== ...

  7. JSValidation客户端验证框架

    下载 引入文件 <script src="/Example4/js/validation-framework.js"></script> <!DOCT ...

  8. 如何用Apache POI操作Excel文件-----如何用Apache POI 画一个离散图

    有的时候,我们需要Excel中的数据,通过一个图画,可视化的表现出来. 那么这个时候,应该如何做呢?现在就借花献佛,以Apache POI自己提供的一个例子为例,给大家演示一下POI的API 如何画图 ...

  9. PHP 开发 APP 接口 学习笔记与总结 - JSON 结合 XML 方式封装通信接口

    要求: 1.在一个类中封装多种数据通信方法(JSON,XML),并且只通过一个入口选择需要的数据通信格式 2.客户端开发工程师可以自行选择数据传输格式(GET 方式) response.php < ...

  10. js 获取checkbox选中项目

    # //获取选中项 $('#submit').click(function () { var check_list = [] $("input[name='ck']:checked" ...