2015-08-15 42 views
0

我现在有3次iOS - 如何控制放松Segue中的动画类型?

  1. 屏幕1的应用程序 - 使用“秀” SEGUE去屏幕2
  2. 屏幕2 - 使用“模式” SEGUE去屏幕3
  3. 屏幕3

我在屏幕1开卷SEGUE和屏幕2和屏幕调用此开卷赛格瑞3.

目前,当我从屏幕3调用屏幕1的开卷SEGUE ,它作为一种正在结束的模态观点呈现动态效果。

是否有可能让这个unwind segue生成一个标准的“流行”流水线,比如当一个屏幕弹出正常的导航栈时?

+0

如果你呈现一个模式视图控制器,它不再是导航控制器层次结构的一部分,因此无法获得您要查找的动画。此外,这将违反人机界面设计指南。随它去。 – duci9y

回答

0

我能够通过为模态视图创建不同的细节来完成我想要的功能。关于我的界面还有一些额外的东西,我不想尝试解释,但Screen 3现在取代了Screen 2,而没有模态轮廓。后来,当我调用屏幕上的3开卷SEGUE,它解开使用push SEGUE从屏幕1.

这里是我的屏幕2和屏幕3之间使用的自定义SEGUE:

-(void)perform { 
    UIViewController *sourceViewController = (UIViewController*)[self sourceViewController]; 
    UIViewController *destinationController = (UIViewController*)[self destinationViewController]; 
    UINavigationController *navigationController = sourceViewController.navigationController; 
    // Pop to root view controller (not animated) before pushing 
    [navigationController popToRootViewControllerAnimated:NO]; 
    [navigationController pushViewController:destinationController animated:NO]; 
}