iOS中Storyboard使用要点记录

摘要:

Storyboard的使用与原本单个xib文件的使用还是有些不同的,于习惯上会有些出入,在这里记下遇到的要点。

1、将第一个ViewController用设置成NavigationController属性

一般新建一个工程时,会自带一个ViewController的类,storyboard中也会有一个现成的视图与其绑定在一起,与以往不同的是,在AppDelegate中已经没有直接将该视图控制器设为根视图的代码了,这时如果想要将这个视图控制器设置成一个NavigationController并且可以push其他子界面的话,采用如下的方法:

在storyboard文件中,新拖出一个NavigationController,放在原来视图的左边,松开鼠标后,会出现两个视图,中间以箭头相连接,现在删除掉其中被箭头指向的视图,将箭头指向我们原本的视图,在左侧栏可以看到新出来的NacigationControllerScene的根视图(root View Controller)是指向我们的视图的。然后不要忘了将表示最初界面的箭头指向我们拖出来的NavigationController,这样我们的视图就拥有了NavigationController的属性了。

2、调用与storyboard中视图绑定的控制器

我们在storyboard中新建一个视图,然后和一个Controller关联在一起,这时我们如果要调用显示这个界面,使用传统的方法新建Controller的实例然后展示是不行的,这样只会显示在Controller中代码写了的内容,storyboard中设置的内容全部都不会显示,最明显的就是视图的背景会是一片黑的。应该采用下面的方法:

        // 必须通过storyboard来找到view!
        UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
        NextViewController *nextVC = [storyboard instantiateViewControllerWithIdentifier:@"nextViewController"];
        [self.navigationController pushViewController:nextVC animated:YES];

不要忘记在storyboard中的视图属性里要定义视图的Identifier,也就是上面代码找到视图的凭据。

不断更新...

转载请注明出处,谢谢

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-09-27 04:34:12

iOS中Storyboard使用要点记录的相关文章

gulp自动添加版本号过程中的一些要点记录

1.打开node_modules\gulp-rev\index.js 第144行 manifest[originalFile] = revisionedFile; 更新为: manifest[originalFile] = originalFile + '?v=' + file.revHash; 2.打开node_modules\gulp-rev\nodemodules\rev-path\index.js 10行 return filename + '-' + hash + ext; 更新为:

iOS中xib与storyboard原理,与Android界面布局的异同

用文本标记语言来进行布局,用的最多的应该是HTML语言.HTML可以理解为有一组特殊标记的XML语言. 一.iOS中xib与storyboard显示原理 在iOS中主要的布置界面的方式有3种:代码,xib,storyboard. 1. 代码 代码布置界面是万能的,但通常很复杂.布置一个简单的界面可能需要很多行代码,因此十分繁琐. 下面为创建一个按钮的代码,最少也要3行: UIButton *btn = [UIButton buttonWithType:UIButtonTypeContactAdd

【开发记录】iOS中使用 Reachability 检测网络

如果你想在iOS程序中提供一仅在wifi网络下使用(Reeder),或者在没有网络状态下提供离线模式(Evernote).那么你会使用到Reachability来实现网络检测. 写本文的目的 了解Reachability都能做什么 检测3中网络环境 2G/3G wifi 无网络 如何使用通知 单个controller 多个controller 简单的功能: 仅在wifi下使用 Reachability简介 Reachablity 是一个iOS下检测,iOS设备网络环境用的库. 监视目标网络是否可

iOS中的事件处理

前言:iOS中事件处理,是一个很重要也很难得地方.涉及到响应者链的地方的面试题,很多工作两三年的老鸟也未必能回答的很专业.这里详细介绍一下iOS中的事件处理,以及响应者链. 1. 三大事件 触摸事件 加速计时间 远程控制事件 2. 响应者对象 在iOS中不是任何对象都能处理事件,只有继承了UIResponder的对象才能接收并处理事件.我们称之为 响应者对象 UIApplication.UIViewController.UIView都继承自UIResponder,因此它们都是响应者对象,都能够接

iOS中几种数据持久化方案

概论 所谓的持久化,就是将数据保存到硬盘中,使得在应用程序或机器重启后可以继续访问之前保存的数据.在iOS开发中,有很多数据持久化的方案,接下来我将尝试着介绍一下5种方案: plist文件(属性列表) preference(偏好设置) NSKeyedArchiver(归档) SQLite 3 CoreData 沙盒 在介绍各种存储方法之前,有必要说明以下沙盒机制.iOS程序默认情况下只能访问程序自己的目录,这个目录被称为"沙盒". 1.结构 既然沙盒就是一个文件夹,那就看看里面有什么吧

iOS开发:iOS中的多控制器管理

iOS中的控制器有三种创建方式: 1.通过storyboard创建 UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Apply" bundle:nil]; SchemeViewController *schemeVC = [storyboard instantiateViewControllerWithIdentifier:@"SchemeViewController"]; 2.指定xib文

iOS中Animation 动画 UI_22

1.iOS中我们能看到的控件都是UIView的子类,比如UIButton UILabel UITextField UIImageView等等 2.UIView能够在屏幕的显示是因为在创建它的时候内部自动添加一个CALayer图层,通过这个图层在屏幕上显示的时候会调用一个drawRect: 的方法,完成绘图,才能在屏幕上显示 3.CALayer 本身就具有显示功能,但是它不能响应用户的交互事件,如果只是单纯的显示一个图形,此时你可以使用CALayer创建或者是使用UIView创建,但是如果这个图形

iOS中消息的传递机制(KVO、Notification、delegation、block以及target-action)---转载

注1:本文由破船[博客]译自Communication Patterns. 本文目录如下所示: 可用的机制 做出正确的选择 Framework示例 小结 每个应用程序或多或少,都由一些松耦合的对象构成,这些对象彼此之间要想很好的完成任务,就需要进行消息传递.本文将介绍所有可用的消息传递机制,并通过示例来介绍这些机制在苹果的Framework中如何使用,同时,还介绍了一些最佳实践建议,告诉你什么时机该选择使用什么机制. 虽然这一期的主题是关于Foundation Framework的,不过本文中还

iOS中几种常用的数据存储方式

自己稍微总结了一下下,方便大家查看 1.write直接写入文件的方法 永久保存在磁盘中,可以存储的对象有NSString.NSArray.NSDictionary.NSData.NSNumber,数据全部存放在一个属性列表文件(*.plist文件)中, 具体步骤大致如下: 第一步:获得文件即将保存的路径: NSArray*documentPaths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,Y