StoryBoard - Segue 简单笔记

StoryBoard - Segue 简单笔记

个人很喜欢使用 StoryBoard。


创建 Segue

在 StoryBoard 中创建 Segue 一般如上图两种拉线:

  • 红线: SrcVc 有跳转到 DestVc 的 Segue
  • 蓝线: SrcVc 中 GoDestVc 按钮执行跳转到 DestVc 的 Segue

使用 Segue
/**
*  按钮点击事件
*/
- (IBAction) btnDidSelected:(UIButton *)sender {
	[self performSegueWithIdentifier:@"ShowDestVc" sender:sender];
}

/**
*  当 segue 执行的时候,会调用该方法
*
*  @param segue  联线
*  @param sender 发送器参数
*
*  @note  sender 是 performSegueWithIdentifier:sender: 中的 sender 参数
*
*/
- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
	DestVc *destVc = segue.destinationViewController;
	destVc.name = @"iMock";
}    

说明:
上面代码是红线创建 Segue 时的使用写法,需要开发者手动调用 -performSegueWithIdentifier:sender: 来执行 Segue 。
如果是蓝线创建,则不需要手动执行 -performSegueWithIdentifier:sender: 。
-prepareForSegue:sender: 方法是在 Segue 执行时调用的,用来传输数据,如果没有数据传输,则不需要实现。


自定义 Segue

默认的过渡: Show(替代被废弃的 Push)、Show Detail、Present Modally、Present As Popover

新建一个继承自 UIStoryBoardSegue 的类,重写其 -perform (添加自定义的过渡动画)方法,在 StoryBoard 中关联对应的 Segue(类型选择 custom) 和该类即可。

posted @ 2017-05-02 12:03  上水的花  阅读(197)  评论(0编辑  收藏  举报