Storyboard

iOS xib 与StoryBoard 之间的互相,以及StoryBoard与StoryBoard之间跳转 xib 跳转到StoryBoard UIStoryboard *board = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; UIViewController *vc = [board instantiateViewControllerWithIdentifier:@"02"]; [self presentViewC 阅读详情

1. StoryBoard到底是什么东西?

这里写图片描述
如上图所示,就是我们一直在说的Storyboard,创建项目的时候选择Single View Application
这里写图片描述
模板,我们就可以默认得到一个控制器类ViewController.h/.m和一个Main.storyboard文件,Main.storyboard文件就是的故事板(Storyboard),在这里可以操作我们的几乎所有的控制器。

Storyboard中存在的不仅仅是View那么简单的概念,而是放置了一个ViewController的概念。也就是说,我们在可视化页面中,除了可以在页面中操作视图之外,我们还可以在页面中操作控制器的一些设置等等。

Storyboard就是把很多的Xib文件添加到了一个文件中,让我们可以在一个文件中操作所有视图,更加的方便和快捷。同时,我们还可以设置页面之间的联系。展示程序页面之间的逻辑关系
不同的是,Xib中代表的仅仅是View,Storyboard中代表的是控制器

2. StoryBoard与xib相比较的优势与劣势?

Xib的和纯代码开发相比起来优势已经很明显了:方便、快速、直观。。。可以帮我们提高工作效率,节省开发时间。
Storyboard和xib比起来,除了拥有Xib拥有的优势外,它还有自己的优势。

方便、快速、直观
显示各个控制器之间的顺序关系
快速设置控制器的一些属性

3. 如何使用以及单独创建Storyboard文件

cmd + N,选择User Interface->StoryBoard
这里写图片描述
创建之后如何让程序去加载呢,在这里设置下:选中项目->General->Main Interface,在Main Interface输入storyboard文件名

这里写图片描述
设置好了之后,程序启动后就会自动加载我们的Stroyboard文件了

4. Storyboard中那么多控制器,哪个是根视图控制器?

Storyboard中可以包含很多的视图控制器,那到底哪个是根视图控制器呢?注意,这里不需要我们去写代码声明。只需要勾选就OK了。

这里写图片描述
视图控制器左侧的小箭头就表示当前的为根视图控制器,设置的位置就是右侧Is Initial View Controller的复选框。
小箭头也可以直接拖动,可以从一个控制器拖到另一个控制器上,这样就更改了根视图控制器。

5. 添加新的视图控制器和关联

这里写图片描述
从右下角直接找到View Controller拖到Stroyboard,这样就创建了一个视图控制器,但是需要和ViewController.h/.m进行关联,

这里写图片描述

在Class中输入对应的控制器的名称,这样就进行了关联,怎么样,比Xib简单吧。

6. 使用Segue

Segue,就是我们在storyboard中看到的那些线,相对应的类是UIStoryboardSegue,segue的作用就是可以表示出控制器之间的跳转关系,并且,是可以直接实现跳转的。
在一个控制器中拖入一个UIButton,然后按住Control按钮,从button上拖到另外一个控制器中,

这里写图片描述

松手后可以看到弹出这样一个HUD:

这里写图片描述

最下面的两个,push和modal大家都认识,一个是导航控制器的跳转页面,另一个是模态的效果。大家也可以发现,已经被deprecated掉了,所以我们不应该再去使用。
解释下最新的:
show: 相当于push,但是有一个好处:如果没有导航控制器,跳转的方式就是模态,如果存在导航控制器,就是push的效果
show detail: 相当于modal
我们选择show,这样可以看到一条线:

这里写图片描述

这条线就是segue,代表了转场。(segue的使用后期再做详细介绍)
这样搞定之后,我们就实现了页面之间的跳转,都不需要写代码。

7. 设置代理

如果我们添加了tableView到视图中,我们不需要写代码,可以直接设置代理:
这里写图片描述
按住Control,从tableView拖到对应的控制器上,松手后会看到:
这里写图片描述
可以看到dataSource和delegate,把两个都选中就代表我们设置了tableView的代理为当前的视图控制器。选中的代理项会在前面出现小点点,就比如dataSource

8. 给控制器添加导航控制器或者标签控制器

选中一个控制器,然后去菜单栏:Editor->Embed In->Navigation Controller
这里写图片描述

我们选中控制器可以将当前控制器装载到控制器中,当我们选中几个View的时候,我们也可以装载到View或者ScrollView中,非常的方便。

9. 这个东西真棒

Storyboard除了可以提高我们的开发效率之外,后期介绍了Auto Layout之后,你会爱上Storyboard的。

建议大家在个人项目中使用Storyboard,
团队项目的时候使用Xib,
总之就是尽量使用可视化编程,提高我们的工作效率。

深入理解Storyboard及其在ViewController切换中的应用 本文还有配套的精品资源,点击获取 简介:Storyboard是iOS开发中用于设计应用界面的可视化工具,通过它可以直观地设置屏幕间导航流程。本文将介绍Storyboard的基本概念、使用方法,以及如何通过performSegueWithIdentifier方法在ViewController间切换。重点包括创建segue、设置identifier、实现prepare(for:... 阅读详情

相关推荐

storyboard的基本使用

用storyboard开发了一个小的tableview的demo,供大家学习storyboard使用。

什么是故事板?(故事图、Storyboard)(软件显示效果的视觉草图,用于视频创作和广告设计,表达作者的创意)

故事板是软件显示效果的视觉草图,用于视频创作和广告设计,表达作者的创意。20世纪90年代以来,电脑绘制软件渐渐取代了过去的手绘故事板,许多大制作的商业影片,都在拍摄之前用电脑动画模拟的方式创建故事板,让复杂的电影拍摄更加形象、准确和简单,如《侏罗纪公园》。 概述 故事板是软件显示效果的视觉草图,用于视频创作和广告设计,表达作者的创意。 电影故事板故事板,英文“Storyboard”,有时译为“故事...

Dontla的博客 9188

RocketMQ 为什么要自己做一个 NameServer ?RocketMQ 5.x 版本中的 proxy、controller 和 container 分别有什么用 ?

1.独立运行的分散结构 2.简化实现,容忍部分数据不一致 Proxy:多语言支持、简化开发 Controller: 提高 Broker 的性能 Container:提高资源利用率,平衡负载

xaiobit_hl的博客 1488

Storyboard 解析

  故事版(Storyboard)是一个能够节省你很多设计手机App界面时间的新特性,下面,为了简明的说明Storyboard的效果,我贴上本教程所完成的Storyboard的截图: 现在,你就可以清楚的看到这个应用究竟是干些什么的,也可以清楚的看到其中的各种关系,这就是Storyboard的强大之处了。如果你要制作一个页面很多很复杂的App,Storyboard可以帮助你解决写很多重...

SouthKing 632

《机器学习》周志华_自学记录

第一章绪论## 1.1引言机器学习所研究的主要内容,是关于在计算机上从数据中产生"模型"(model)的算法,即"学习算法"(learning algorithm).在面对新的情况时(例如看到一个没剖开的西瓜),模型会给我们提供相应的判断(例如好瓜).如果说计算机科学是研究关于"算法"的学问,那么类似的,可以说机器学习是研究关于"学习算法"的学问.## 1.2基本术语:用于预测离散值,例如将样本分为“好瓜”或“坏瓜”。:用于预测连续值,例如西瓜的成熟度(如0.95、0.37)。

2201_75296678的博客 2530

LwIP TCP Client 解决长数据发送的困扰

问题描述 LWIP 的 TCP Client 发送数据可以调用 tcp_write() 函数,将数据储存在缓冲区里面,然后等待超时自动发送或者调用tcp_output()函数进行发送。 然而 tcp_write() 函数 需要发送的数据过长时,将无法发送,并返回 ERR_MEM。 tcp_write()函数解析 tcp_write()的函数代码很多,就不细看代码了, 先看tcp_write()的完整函数: err_t tcp_write(struct tcp_pcb *pcb, const void

tiantangmoke的博客 1万+

iOS 9 Storyboard 教程(一上)

iOS 9 Storyboards 教程

yangmeng13930719363的专栏 1万+

STK12与Python联合仿真(一):环境搭建

STK仿真python接口,安装与测试

qq_42635142的博客 1万+

一篇较为详细的 Storyboard使用方法 总结

Storyboard是苹果官方主推的一个代替xib的策略。有必要详细学习下它的使用方法。 先来看一下思维导图 storyboard_28 storyboard基础 storyboard优势 storyboard能代替nib自然有其优势,一般来说storyboard具有以下几种优点: storyboard能将nib汇总统一管理storyboard可

liuyinghui523的专栏 2万+

C#串口通讯实战:如何用SerialPort类搞定工业传感器数据采集(附完整代码)

本文详细介绍了如何使用C#的SerialPort类实现工业级传感器数据采集,涵盖串口通讯基础配置、数据帧处理、异常恢复机制及性能优化策略。通过实战代码示例,帮助开发者构建稳定可靠的工业数据采集系统,特别适合需要处理高频数据采集和复杂工业环境的场景。

weixin_42525551的博客 1084

用MATLAB计算卡方值

然后,我们计算了期望频数,即在两个分类变量独立的情况下,每个单元格的预期频数。接下来,我们使用卡方检验的公式计算了卡方值。卡方检验是一种常用的统计方法,用于确定两个分类变量之间是否存在相关性。它基于观察到的频数和期望频数之间的差异来评估分类变量之间的独立性。在MATLAB中,我们可以使用。请注意,这只是一个简单的示例代码,用于说明如何使用MATLAB计算卡方值。在实际应用中,您可能需要根据您的具体数据和研究问题进行相应的修改和调整。在上面的代码中,我们首先创建了两个分类变量。函数显示了计算得到的卡方值。

CodeNexus的博客 2658

如何在xcode中使用storyboard

StoryBoard是iOS 5的新特征,目的是代替历史悠久的NIB/XIB,对于已经习惯了xib文件的孩子们来说,StoryBoard还不是那么熟悉。经过两天的研究,有了一些心得,在此分享。 一、如何使用storyboard简单实现Push页面,步骤如下: 1、创建一个带有storyboard的singleview application应用程序如图。 创建好的应用

For Marie Curie 7万+

24、虚拟地理信息系统:技术与应用的全面解析

本文全面解析了虚拟地理信息系统(虚拟GIS)的技术架构与应用前景。文章从地理空间数据的增长出发,探讨了虚拟GIS在地形、建筑、天气等多维度数据的交互式可视化技术,重点介绍了全球层次结构、多分辨率模型、缓存分页机制及交互导航方法。系统已应用于天气分析、城市规划、应急响应等领域,并展望了未来在数据处理、模拟操作、移动可视化及智能城市、文化遗产保护等方向的发展路径与技术挑战。

v4w5x6的博客 88

Storyboard的使用

创建一个Storyboard工程 storyboard是在ios5中引入的新控件,能够更加清晰、简单的整合多个ViewController的关系,下面主要介绍一下怎么初建一个storyboard的工程。有关storyboard的介绍在后面的文章中提到。 首先利用xcode4.2创建一个新项目,选择空工程: 2.填写项目名称和勾选使用ARC 3、注

嘀咕的榔头 1万+

Android 埋点信息分析——statsd框架

StatsPullAtomService 用以采集数据,并将数据填充到参数中,在StatsManager.PullAtomCallbackInternal 中会转换成 Parcel 格式传入到 native。 StatsCallbackPuller::PullInternal 中会回调StatsManager.PullAtomCallbackInternal 的onPullAtom,该函数中会回调StatsCallbackPuller::PullInternal 中定义的PullResultRecei

私房菜 2628

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

StoryBoard内动态加入UIViewController

StoryBoard是IOS5的新特性之一,把程序View的设计弄成了绘画板(storyboard),它让枯燥程序猿们体验了下做一次画家。如果是第一次接触StoryBoard,想用StoryBoard做一个最简单的IOS程序,我建议点传送门,这是一篇不错的入门教程,有比较多的图。        原先是通过File's Owner载入视图资源,然后通过代码来完成viewController之间的关

寻亚楠的专栏 1万+

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

storyboard解析

如何理解SB?最简单的理解就是:一个.storyboard文件相当于多个基于VC使用的.xib文件,由此我们可以看出,SB(只能基于VC,不能基于View),我们有多个VC的类是可以和一个SB文件建立关系的,使用方法:SecVC *secVC = [[UIStoryboard storyboardWithName:@"Demo" bundle:[NSBundle mainBundle]] insta

CINNS的博客 1053

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

关于Storyboard故事板, Segue 的使用,storyboard的拆分

1.相关介绍。 对于ios开发中,其实storyboard其实是比较有用的。它能够让你一眼看清应用的所有跳转关系。Storyboard 在iOS5时引入,它能节约你创建UI的时间。storyboard与常规nib(nib文件后来改名叫xib文件,小伙伴不用纠结它是啥)文件相比,有很多优势 1.storyboard可以描述各种场景之间的过渡,这种过渡被称作"segue",你通过简单的ctrl-d...

chengzuidongfeng的博客 649

StoryBoard故事版之ViewController与实体类的关联和不同StoryBoard 跳转

StoryBoard

watertekhqx的博客 6418

Storyboard Reference

在某些情况下,你开发的应用可能包含有各种各样的复杂界面,如果你使用Storyboard来管理这些界面,通常你会将这些界面按照相应的逻辑分成许多子模块,放在不同的storyboard里,比如注册相关的放到Register.Storyboard,图片相关的放到Photos.Storyboard,而主界面放到Main.Storbyoard。这么做的好处是不仅可以缩小每个storbyoard的打开速度,而

Benson的专栏 2846

Kopia 代码库 Go 测试规范:从 `_test.go` 组织、表驱动用例到测试辅助函数的完整实践指南

本指南以 Kopia 仓库中的 [Go 测试规则文档](https://link.gitcode.com/i/477c5b02b3a668af323b83985cb7c2e7) 为骨架,结合仓库内大量真实测试实现(如 `internal/diff`、`internal/contentlog/logparam`、`repo/blob/azure` 等),系统讲解在 Kopia 这样的大型 Go 代码

gitblog_00535的博客 981

iOS UI篇10- Storyboard(多个Storyboard的连接)

Storyboard是apple一直推荐使用的。但是存在两个问题: 多人开发时需要同时修改Storyboard很容易导致文件冲突。 Storyboard文件里控制器太多,使用不方便。 我想这两个问题是导致目前很多开发者选择xib或是纯代码而不是Storyboard的原因把。所以在iOS9以后出现了 Storyboard Reference。

jeikerxiao 2598

storyBoard学习总结

一:nsrange的用法,可以通过     if (urgentRange.location == NSNotFound)来判断是否找到了子串     NSString *identifier =nil;     NSString *task = [self.tasksobjectAtIndex:indexPath.row];     NSRange urgentRange

taylor的专栏 1721

StoryBoard

StoryBoard是iOS 5的新特征,旨在代替历史悠久的NIB/XIB(其实StoryBoard还是基于NIB/XIB的,不过开发人员已经无需直接跟NIB打交道了)。目前关于StoryBoard的文档并不多,苹果的iOS 5的开发者文档里也仅有不多的介绍。所以,本文只是简单的谈谈本人对StoryBoard的一些粗浅的理解。(StoryBoard有时也叫做StoryBoarding,我不太注意这

zeng11088的专栏 1422

iOS UI篇10- Storyboard(Storyboard Reference)

在Xcode 7中,我们有一个在多个storyboards中组织scenes的新方法,并且能对它们进行引用。直接看Main.storyboard文件。我已经为了准备好了一系列组织在一个tabBar Controller下View controller。每一个tab包含一个Navigation Controller。

jeikerxiao 1055

Storyboard使用

创建一个Storyboard工程 storyboard是在ios5中引入的新控件,能够更加清晰、简单的整合多个ViewController的关系,下面主要介绍一下怎么初建一个storyboard的工程。有关storyboard的介绍在后面的文章中提到。 首先利用xcode4.2创建一个新项目,选择空工程: 2.填写项目名称和勾选使用ARC 3、注

DoubleK_duo的专栏 525
上一篇: CocoaPosd详解
下一篇: Xib
style_施
博客等级 码龄11年 11粉丝 42原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值