创建一个自定义的segue

内容来源

https://developer.apple.com/library/content/featuredarticles/ViewControllerPGforiPhoneOS/UsingSegues.html#//apple_ref/doc/uid/TP40007457-CH15-SW1

The Life Cycle of a Segue

segue对象是UIStorybaordSegue或它的子类的实例。你的app不会直接的创建它。UIKit会在segue被触发时创建它。

  1. 被呈现的view controller被创建并初始化。
  2. segue被创建,并且它的initWithIdentifier:source:destination:被调用。identifier 是在interface builder里你提供给segue的唯一标识。别两个参数是过渡过程里的controller对象。
  3. presenting view controller的prepareForSegue:sender: 被调用。
  4. segue对象的 perform 方法 被调用。这个方法是执行转换过程,把新的 view controller放到屏幕上来。(是不是可以在这里面加自定义的转换效果。)
  5. segue的引用被释放掉。

实现自定义的Segue

为了实现自定义的segue,继承UIStoryboardSegue类,并实现以下方法:

  1. 覆盖initWithIdentifier:source:destination:方法,用它初始化你自定义的segue.总是先调用super.
  2. 实现 perform 方法,并用它配置您自己的过渡动画。

注意:

如果你为了配置segue增加了一些属性,你不能在interface builder里的配置这些属性。你可以在触发segue的view controller的prepareForSegue:sender:配置它们。
- (void)perform {
    // Add your own animation code here.
 
    [[self sourceViewController] presentViewController:[self destinationViewController] animated:NO completion:nil];
}

你可能感兴趣的:(创建一个自定义的segue)