UIStoryboard
UIStoryboard
目录
- 概述
- Storyboard的创建
- Storyboard中的页面跳转
文件内跳转
文件外跳转
- Segues
- 不同类型的视图控制器在UIStoryboard上的实现
概述
IOS编程对视图控制器处理常常分为xib和Storyboard,xib是比较古老的视图控制器管理形式,Storyboard则是比较新的,对于两者的异同,笔者暂时还不是很有体会,只是觉得Storyboard的话,可以让开发人员很快熟悉界面的跳转流程,但是缺点就是当如果Storyboard很大的时候,会发现可能只是改一小部分的东西,Xcode编译的时间依旧会很久,可能Xcode又要把整个Storyboard给编译一遍。
优点
通过使用storyboard,你可以有一个全局的概念
和xib的对比
有很多局限性,storyboard并不如Interface builder那么功能强大,有很多Interface Builder可以做的地方,storyboard并不能做
Storyboard的创建
直接新建一个Storyboard文件
Storyboard中的页面跳转
(1)Storyboard文件内UIViewController之间的跳转
连线实现跳转
直接连线,从一个UIButton到一个UIViewController
获得跳转到的目标视图控制器的类以作初始化,在原视图控制器上重写以下方法
-(void)prepareForSegue:(UIStoryboard *)segue sender:(id)sender{
UIViewController *secondVC = segue.destinationViewController;
}
代码实现跳转+设置UIViewController之间的Segue
[self performSegueWithIdentifier:@"segue_identifier" sender:self];
注:segue_identifier为原视图控制器连线到跳转到的目标视图控制器之间的segue的Identifier,在检查器面板可进行设置
使用技巧:通过设置和判断segue.identifier来区分跳转到的视图
(2)Storyboard文件之间的跳转
实现代码
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"storyboard_name" bundle:nil];
UIViewController *nextVC = [storyboard instantiateViewControllerWithIdentifier:@"viewcontroller_identifier"];
注:viewcontroller_identifier为Storyboard里面中的视图控制器的Storyboard ID;storyboard_name为Storyboard除了文件后缀之后的文件名
Segues
Model
Push
自定义Segue——Custom
自己编写动画,详见《IOS 5 by tutorials》
不同类型的视图控制器在UIStoryboard上的实现
UIViewController
UITabBarController
UINavigationController
UITableViewController
UITableViewCell
UIStoryboard的更多相关文章
- UIStoryboard类介绍(如何从Storyboard中加载View Controller)
如何从Storyboard中加载View Controller? 1. 首先了解下UIStoryboard类: @class UIViewController; @interface UIStoryb ...
- IOS中用UIStoryBoard类初始化/跳转控制器
1.空工程中通过创建storyboard文件加载页面 //获取Main.storyboardUIStoryboard *mainStory = [UIStoryboard storyboardWi ...
- iOS - UIStoryboard
前言 NS_CLASS_AVAILABLE_IOS(5_0) @interface UIStoryboard : NSObject @available(iOS 5.0, *) public clas ...
- UIStoryboard跳转界面
/**1.创建Storyboard,加载Storyboard的名字,这里是自己创建的Storyboard的名字*/ UIStoryboard *storyboard = [UIStoryboard s ...
- iOS Programming UIStoryboard 故事板
iOS Programming UIStoryboard In this chapter, you will use a storyboard instead. Storyboards are a f ...
- 使用 UIStoryBoard 语法糖
最后更新: 2018-09-06 当你用 UIStoryBoard (以下简称 'SB') 做iOS开发时候,总是避免不了设置 StoryBoard ID 的问题, StoryBoard ID 是一个 ...
- UIStoryBoard 中修改控件borderColor
storyBoard中直接修改UI控件的边框颜色,可以避免先关联再从控制器中修改属性等繁琐操作 因为layer.borderColor隶属于CALayer对象,且CGColor无法直接在sb中直接使用 ...
- iOS中UIKit——UIStoryboard中基本知识点
一.输出口 1.一旦在故事板中对某控件或者视图定义了输出口,不需要再在文件中对它们进行初始化.否则,会产生错误.
- UIStoryboard小提示
- (id)instantiateInitialViewController - (id)instantiateViewControllerWithIdentifier:(NSString *)ide ...
随机推荐
- 传统企业,"哀兵必胜"的想法要不得
[文/ 任英杰]同事在内网上发了一篇文章『哀兵必胜』,思量数日,作文应对.文中表达的积极精神让人敬佩,但背后似乎隐含着一股莫名的“情绪”.对行业大格局的基本看法会影响公司转型的成败,觉得还是有必要讨论 ...
- LRU Cache的实现
代码如下: 来自为知笔记(Wiz)
- DouNet学习_代码生成器
string conn = "Data Source={0};Initial Catalog={1};User Id={2};Password={3}"; //点击链接 priva ...
- 基于jquery的表格动态创建,自动绑定,自动获取值
最近刚加入GUT项目,学习了很多其他同事写的代码,感觉受益匪浅. 在GUT项目中,经常会碰到这样一个问题:动态生成表格,包括从数据库中读取数据,并绑定在表格中,以及从在页面上通过jQuery新增删除表 ...
- mysql基础知识(3)--创建
创建表: 基本形式 create table [if not exists] 表名(字段列表, [约束或索引列表]) [表选项列表]; 说明:列表都是表示“多个”,相互之间用逗号分开. 字段基本 ...
- First & First
First有记录则返回,否则返回null FirstOrDefault有记录则返回,否则NEW一个新的实体对象返回
- Axis2与Web项目整合
一.说明: 上一篇介绍了通过使用Axis2来发布和调用WebService,但是是把WebService发布在Axis2提供的项目中,如果我们需要在自己的Web项目中来使用Axis2发布WebServ ...
- maven 部署到tomcat 的 resource问题
1.maven resource结构 如图,我将resoures下建立四个子文件夹,base存放的是不随环境变化的配置项,而其他三个均是对应环境的配置文件. 2.问题 我执行maven命令是没有的,但 ...
- 用PyInstaller把Python代码打包成单个独立的exe可执行文件
之前就想要把自己的BlogsToWordpress打开成exe了.一直没去弄. 又看到有人提到python打开成exe的问题. 所以打算现在就去试试. 注:此处之所有选用BlogsToWordpres ...
- CCF 201403-1 相反数 (水题)
问题描述 有 N 个非零且各不相同的整数.请你编一个程序求出它们中有多少对相反数(a 和 -a 为一对相反数). 输入格式 第一行包含一个正整数 N.(1 ≤ N ≤ 500). 第二行为 N 个用单 ...