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的更多相关文章

  1. UIStoryboard类介绍(如何从Storyboard中加载View Controller)

    如何从Storyboard中加载View Controller? 1. 首先了解下UIStoryboard类: @class UIViewController; @interface UIStoryb ...

  2. IOS中用UIStoryBoard类初始化/跳转控制器

    1.空工程中通过创建storyboard文件加载页面   //获取Main.storyboardUIStoryboard *mainStory = [UIStoryboard storyboardWi ...

  3. iOS - UIStoryboard

    前言 NS_CLASS_AVAILABLE_IOS(5_0) @interface UIStoryboard : NSObject @available(iOS 5.0, *) public clas ...

  4. UIStoryboard跳转界面

    /**1.创建Storyboard,加载Storyboard的名字,这里是自己创建的Storyboard的名字*/ UIStoryboard *storyboard = [UIStoryboard s ...

  5. iOS Programming UIStoryboard 故事板

    iOS Programming UIStoryboard In this chapter, you will use a storyboard instead. Storyboards are a f ...

  6. 使用 UIStoryBoard 语法糖

    最后更新: 2018-09-06 当你用 UIStoryBoard (以下简称 'SB') 做iOS开发时候,总是避免不了设置 StoryBoard ID 的问题, StoryBoard ID 是一个 ...

  7. UIStoryBoard 中修改控件borderColor

    storyBoard中直接修改UI控件的边框颜色,可以避免先关联再从控制器中修改属性等繁琐操作 因为layer.borderColor隶属于CALayer对象,且CGColor无法直接在sb中直接使用 ...

  8. iOS中UIKit——UIStoryboard中基本知识点

    一.输出口 1.一旦在故事板中对某控件或者视图定义了输出口,不需要再在文件中对它们进行初始化.否则,会产生错误.

  9. UIStoryboard小提示

    - (id)instantiateInitialViewController - (id)instantiateViewControllerWithIdentifier:(NSString *)ide ...

随机推荐

  1. c++11之智能指针

    在c++98中,智能指针通过一个模板“auto_ptr”来实现,auto_ptr以对象的方式来管理堆分配的内存,在适当的时间(比如析构),释放所获得的内存.这种内存管理的方式只需要程序员将new操作返 ...

  2. ASP.NET MVC 常用内置验证特性 简介

    1.[Required] : 必须输入 [Required(ErrorMessage = "请输入用户名")] 2.[StringLength] : 限制字符串长度 [String ...

  3. Python的16个“坑”

    1. 不要使用可变对象作为函数默认值 代码如下: In [1]: def append_to_list(value, def_list=[]): ...: def_list.append(value) ...

  4. Spark RDD概念学习系列之RDD的5大特点(五)

      RDD的5大特点  1)有一个分片列表,就是能被切分,和Hadoop一样,能够切分的数据才能并行计算. 一组分片(partition),即数据集的基本组成单位,对于RDD来说,每个分片都会被一个计 ...

  5. quora 中有关angular与emberjs的精彩辩论

    原贴地址,要注册才能看,这里只有国人翻译的一部分内容 本文源自于Quora网站的一个问题,作者称最近一直在为一个新的Rails项目寻找一个JavaScript框架,通过筛选,最终纠结于Angular. ...

  6. js 生成随机数

    <script>   function GetRandomNum(Min,Max){   var Range = Max - Min;   var Rand = Math.random() ...

  7. [iOS微博项目 - 2.4] - 重新安排app启动步骤

    github: https://github.com/hellovoidworld/HVWWeibo   A.app启动步骤 1.加入了授权步骤之后,最先要判断app内是否已经登陆了账号 2.在程序启 ...

  8. 递归遍历树结构顺序显示并且添加到list集合

    /// <summary> /// 给流程排序 by 于連偉 2015/06/15 /// </summary> /// <param name="lstNex ...

  9. HDU 5458 Stability (树链剖分+并查集+set)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5458 给你n个点,m条边,q个操作,操作1是删边,操作2是问u到v之间的割边有多少条. 这题要倒着做才 ...

  10. 自定义滚动控件(Pagecontrol)

    // // MyPageCorol.h // lejiahui // // Created by iOS开发 on 16/4/10. // Copyright © 2016年 zhongmingwuy ...