在阅读了iOS 8自定义动画转场上手指南后,刚开始不理解,后来慢慢消化了,现在总结如下:

1. 自定义Segue关键在于继承UIStoryboardSegue并重写perform方法

2. 动画可以在转场之间的任何方法中添加(Segue的perform方法、prepareSegue、UnwindSegue对应的IBAction方法),但最好统一一下,放在perform中去

3. UnwindSegue关键要在返回的目标VC中定义IBAction,然后才能在Storyboard中通过拖拽并选择IBAction来创建UnwindSegue

4. 创建Segue的时候一定记得要写SegueId(Storyboard中选中Segue后右侧属性列表中有),代码中需要通过id来判断segue

5. -(UIStoryboardSegue *)segueForUnwindingToViewController:(UIViewController *)toViewController fromViewController:(UIViewController *)fromViewController identifier:(NSString *)identifier 一定要在转场目标VC中重写此方法,而不是源VC中

6. 转场动画结束后,记得调用

self.sourceViewController.presentViewController(self.destinationViewController as! UIViewController, animated: false, completion: nil)

或者

self.sourceViewController.dismissViewControllerAnimated(false, completion: nil)

来最终完成segue工作。

7. Segue转场流程:[A performSegueWithIdentifier:sender:] --> [B init]  [B awakeFromNib]--> Find segue defined in storyboard by id. --> [A prepareForSegue:sender:](传递数据)  --> [customSegue perform] -->  [B viewDidload]

UnwindSegue转场流程:[B performSegueWithIdentifier:sender: --> [A segueForUnwindingToViewController:fromViewController:identifier:](Find unwind segue from destination VC's segueForUnwindingToViewController selector.) --> [B prepareForSegue:sender:](传递数据)  --> [A -(IBAction)returnFromSegue:(UIStoryboardSegue *)sender] (IBAction relative by unwind segue id which defined in storyboard)

搞定,希望能帮助到有需要的猿!

iOS——自定义Segue实现总结的更多相关文章

  1. 【iOS自定义键盘及键盘切换】详解

    [iOS自定义键盘]详解 实现效果展示: 一.实现的协议方法代码 #import <UIKit/UIKit.h> //创建自定义键盘协议 @protocol XFG_KeyBoardDel ...

  2. iOS自定义的UISwitch按钮

    UISwitch开关控件 开关代替了点选框.开关是到目前为止用起来最简单的控件,不过仍然可以作一定程度的定制化. 一.创建 UISwitch* mySwitch = [[ UISwitchalloc] ...

  3. 如何实现 iOS 自定义状态栏

    给大家介绍如何实现 iOS 自定义状态栏 Sample Code: 01 UIWindow * statusWindow = [[UIWindow alloc] initWithFrame:[UIAp ...

  4. iOS自定义组与组之间的距离以及视图

    iOS自定义组与组之间的距离以及视图 //头视图高度 - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(N ...

  5. iOS 自定义转场动画

    代码地址如下:http://www.demodashi.com/demo/12955.html 一.总效果 本文记录分享下自定义转场动画的实现方法,具体到动画效果:新浪微博图集浏览转场效果.手势过渡动 ...

  6. iOS 自定义转场动画浅谈

    代码地址如下:http://www.demodashi.com/demo/11612.html 路漫漫其修远兮,吾将上下而求索 前记 想研究自定义转场动画很久了,时间就像海绵,挤一挤还是有的,花了差不 ...

  7. iOS自定义转场动画实战讲解

    iOS自定义转场动画实战讲解   转场动画这事,说简单也简单,可以通过presentViewController:animated:completion:和dismissViewControllerA ...

  8. IOS自定义表格UITableViewCell

    在UITableView中,自定义表格,最原始是继承UITableViewCell,然后通过写代码方式去搞,但是这个费事了. 1.在storyboard中 给一个ViewController的tabi ...

  9. ios 自定义键盘

    由于项目需要,需要自定义键盘.ios系统键盘会缓存键盘输入,并保存在系统目录下的文件里,并且是明文存储,存在帐号密码泄漏风险.在别人代码基础上修改了下,美化了下界面,去掉了字符输入,加了点击特效,截图 ...

随机推荐

  1. 【javascript】:Highcharts实战

    PS: Highcharts是一款前端图标设计框架,非常绚. 前端JS: var probabilityStatisticsData; var yearTool; var CoordinateX = ...

  2. 16条Web2.0法则的编程思想

    1.在你开始之前,先定一个简单的目标.无论你是一个Web 2.0应用的创建者还是用户,请清晰的构思你的目标.就像“我需要保存一个书签”或者“我准 备帮助人们创建可编辑的.共享的页面”这样的目标,让你保 ...

  3. html5新特性之画布

    1.canvas的理解 canvas是一个矩形区域,在这个区域内,通过js可以对区域内的每一帧像素控制 2.js操作canvas对象 canvas对象.getContext("2d" ...

  4. Lnux 16.04 VM下安装与汉化

    参考linux-公社: http://www.linuxidc.com/Linux/2016-04/130520.htm  U盘安装linux16.04 http://www.linuxidc.com ...

  5. zabbix3.0 微信告警

    首先需要申请一个企业号,其实公众号也可以,不过脚本不一样.而且公众号任何人都可以关注,有泄密的风险.企业号只有指定的人可以关注,安全性较高.申请企业号,需要一个绑定你本人开户银行卡的微信号. 申请网址 ...

  6. HTML5 Web Worker的使用

    Web Workers 是 HTML5 提供的一个javascript多线程解决方案,我们可以将一些大计算量的代码交由web Worker运行而不冻结用户界面. 一:如何使用Worker Web Wo ...

  7. Windows server 修改mysql端口

    [此方法对mysql免安装版本适用] (最好先停止mysql服务) 1.解压MySQL后,在MySQL根目录下有一个my-default.ini,将该文件复制粘贴一份,重命名为:my.ini,还是放在 ...

  8. tomee 消息持久化

    http://tomee.apache.org/jms-resources-and-mdb-container.html http://activemq.apache.org/xml-configur ...

  9. 使用TableViewRow完成下拉菜单效果

    在TableViewRow标签中增加一个属性opened(自己定义的)=true or false 用于标记当前row的状态 ​    ​然后用table_view.deleteRow()方法  参数 ...

  10. 网页中插入FLASH(swf文件)的html代码

    一.简单插入flash图像<embed src="你的flash地址.swf"width="300" height="220"> ...