开始之前先了解一下storyBoard是什么

storyBoard是iOS5中引入的,在近几年的 Xcode 更新中可以看出,苹果对 Storyboard 的开发力度也不断增强,添加了更多功能和特性,同时也让界面的开发和适配更方便。

storyBoard的本质是XML文件,它描述了窗体、组件以及Auto Layout 约束等信息。

storyBoard的优势就在与它把界面和代码分离,是界面逻辑更直观,代码更清晰、开发效率更高。

好,要创建项目了

然后大家可以看到,Main.storyboard 和 LaunchScreen.storyboard,一个是界面初始化入口,一个是启动页。

PS:这里插一句,昨天刚开始搞得时候,先是拉了一个navigationController进去,发现每次都是启动之后闪了一下,导航条就消失了,让我很费解,后来发现,我特别二的把navigationController放在了LaunchScreen.storyboard里面。所以我觉得,这里面是可以搞一些事情的,还没尝试,慢慢来吧。

进入正题

PS:昨天搞得另一个特别二的事,就是加元素的时候把这个向右的箭头删掉了,然后启动的时候各种黑屏。

尴尬的向右箭头:右面框里的单选框英文翻译过来就是最初的试图控制器,所以,当你确定在当前的这个故事版里面的它就是初始进入的页面的话,那么,请勾选。

再来说第二张图里的Class: class的作用就是关联类文件的。现实的开发中,页面里基本不太可能不需要写代码,比如我们新建了一个FirstViewController.h和FirstViewController.m 就可以通过这个选项把拖拽的ViewController和他们关联起来。

刚拖进来新鲜的ViewController

刚创建新鲜的

关联成功

我们先简单的那微信当做一个例子吧

1、 首先我们需要一个tableware,于是我们删掉了之前的viewController,拖入一个tabbarController,然后删掉多余的东西。上图

2、微信有四个item 微信、通讯录、发现、我。都带导航条。来搞一下,拖进来4个navigation,为了练习,删掉了带过来的rootViewController

3、按住control鼠标从navigation拖到viewController上 选root那个

4、 我把.h和.m直接创建了,然后绑定

5、 按住control鼠标从tabbarController拖到navigation上 选view controllers那个

6、 设置一下item ,修改右边框里的数据

7、这里暂时就先不搞那个tableView了,直接搞页面跳转部分吧。先简单加几个button和viewController作为跳转使用。

8、按住control 从button拖~ 拖到viewController

在网上找到了翻译了的苹果文档内容:

Show: 在master或detail区域展现内容(典型的如iPad的设置界面,左侧是master,右侧是detail),究竟是在哪个区要取决于屏幕上的内容,如果不分master/detail,就单纯的把新的内容push到当前view controller stack的顶部

Show Detail: 大致同Show,在detail区域展现内容,如果不分master/detail,新的内容取代当前view controller stack的顶部

Present Modally:模态展示内容,从下面弹上来的那种。

Present as Popover:在当前的view上出现一个小窗口来展示内容,无处不在的“选中文字后出现 复制/翻译 按钮就是这个

Custom:自定义的

Push: 这个大家都知道吧。

Modal: 和上面的Present Modally是一样的,从下面弹出来那种。

9、我们先选push,当然还有另外一种push的方法,稍后再说。

大家看,push过来导航条是有变化的,刚来进来的时候是没有导航条的

10、页面下面这个注掉的方法,每次页面跳转都会走这个方法,用来传递参数什么的。

push的时候

11、还有另外一种push 的方式,通过代码push,然后按住control从上一个页面连接到下一个页面,

12、要给这个segue 一个id 在push2click中添加一个方法,push2 就是刚才添加的segue id

13、还有另外一种代码push的方式,这种就要用到 storyBoard id了,同时也要创建类文件,前面说过了,直接上图。

14、 然后看代码,这里就看着比较像我们平时写的代码了,只是获取类的方式不一样

15、从下面弹出来的,基本和push方法是相同的,所以就不多说了。

16、 最后我们来说一下传值吧,先简单试一下,给push到的页面加一个title,

总结

OK,这两天接触的差不多就这么多,以后还会深入的研究,这篇就先到这里了,刚开始学习,可能并不够细致,命名也不规范,欢迎指正,欢迎批评。

更新:

2019.07.09 多个storyboard跳转

1. 设置被跳转的storyboard中VC的storyboardID

2. 在即将进行跳转的storyboard中拉出一个Storyboard Reference放在空处。

3.设置Storyboard Reference并push。

4. 也可以通过代码来实现,效果相同,LoginVC就是之前设置的storyboardID

UIStoryboard *loginSB = [UIStoryboard storyboardWithName:@"Login" bundle:nil];

UIViewController* loginVC = [loginSB instantiateViewControllerWithIdentifier:@"LoginVC"];

[self.navigationController pushViewController:loginVC animated:YES];

storyboard搭建项目_Storyboard相关推荐

  1. storyboard搭建项目_Storyboard使用教程一

    Storyboard是最先在iOS 5引入的一项振奋人心的特性,大幅缩减构建App用户界面所需的时间. 要介绍Storyboard是什么,我打算从这张图讲起.下面是您将会在本教程中构建的Storybo ...

  2. storyboard搭建项目_Storyboard 快速搭建UICollectionView

    一.在VC里添加CollectionView,在CollectionView中cell直接添加控件,设置约束 1 二.设置好相关代理 2 三.抄写代码 3.1 遵守协议 3.2 自定义cell(不需要 ...

  3. storyboard搭建项目_轻松搞定一人一个storyboard开发

    前言 storyboard已经推出有几年了,苹果也一直卖力的引导开发者使用storyboard开发,这点从我们创建工程,新工程以Main. storyboard创建window窗口就可以看出.然而很多 ...

  4. storyboard搭建项目_简单谈谈ios程序界面实现的三种方式(代码创建,xib和storyboard)...

    一丶前言 实现ios界面总的来说,有三种方式,传统的是纯代码创建与xib创建,近年来,苹果官网一直推荐用storyboard管理项目界面,最新的xcode 创建的project也是默认为storybo ...

  5. storyboard搭建项目_用Storyboard实例化控制器:

    步骤一:手动初始化storyboard.首先删除系统自动创建的ViewController.h, ViewController.m 和 main.storyboard这三个文件. 2.点击项目--&g ...

  6. storyboard搭建项目_Swift - 使用storyboard创建表格视图(TableViewController)

    (本文代码已升级至Swift4) 项目创建完毕后,默认是使用 ViewController 作为主界面视图.下面通过样例演示,如何使用 TableViewController 作为主界面视图,同时演示 ...

  7. storyboard搭建项目_iOS应用开发中StoryBoard搭建UI界面的基本使用讲解

    StoryBoard 的本质StoryBoard 是苹果在 iOS 5 中引入的新技术方案,目的是给纷繁复杂的 nib.xib 们一个温暖的家,让他们之间的关系更直观地展示出来,并提供了一种新的页面间 ...

  8. storyboard搭建项目_swift项目第五天:swift中storyBoard Reference搭建主界面

    import UIKit/*总结:1:lazy用于懒加载,只能用var来对变量进行懒加载,有两种方式:1:lazy var first = NSArray(objects: "1" ...

  9. IOS15最标准的纯代码搭建项目

    IOS15最标准的纯代码搭建项目 环境 xCode 13 ios 15 如今手机产品更新日新月异.ios既要适配iPhone12,13这样的刘海机型,还要适配iphone8-5s这样的老机型.如何使用 ...

最新文章

  1. 一个整形数组中最大值求和问题(3)
  2. HDU4000Fruit Ninja【树状数组+组合数】
  3. OpenCV中SUFR、SIFT无法使用的原因及解决办法
  4. 【iVX 初级工程师培训教程 10篇文拿证】09 聊天室制作
  5. SQLAlchemy 操作数据库
  6. 6.2二叉树及二叉树存储结构
  7. Indian Buffet Process(印度自助餐过程)介绍
  8. sublime text3设置空格和tab键
  9. 自学Java的人,如何系统全面的学习?
  10. 2021-2025年中国导线管行业市场供需与战略研究报告
  11. DSP双线性变换详解
  12. 做程序员的老婆应该注意的一些事情
  13. 莽荒纪手游源码/服务端!
  14. 班迪录屏算法注册机!
  15. MarkDown在线生成简历
  16. 我在南方的艳阳里大雪纷飞
  17. 5个视频素材网站推荐
  18. 用VSCode打开带图片的.md文件
  19. ubuntu企业微信和微信无法发送和显示图片和截图问题
  20. 记canvas画笔笔迹的多次优化过程

热门文章

  1. 取代Flash的HTML5技术( H5 编写游戏的优点)
  2. 程序员的爱情 第十七章
  3. python-网页请求返回状态码429
  4. is invalid, transitive dependencies (if any) will not be available解决方案
  5. mysql汉字插不进去_Mysql下插入汉字失败
  6. k8s.4-kubeadm部署高可用kubernetes集群 1.21
  7. qpython3手机版turtle_Python的画图模块turtle使用详解
  8. 奈学教育大数据架构分享下载
  9. 在两台设备chrome之间同步自己的书签
  10. 数据分析学习技能树 | 养成数据分析师的品质和思维模式