使用没有动画segue崩溃的应用程序

时间:2012-12-17 12:49:44

标签: ios

我正在使用UIStoryboardSegue子类来抑制push动画segue。

#import "NoAnimationSegue.h"

@implementation NoAnimationSegue

- (void)perform
{
    UIViewController *src = (UIViewController *) self.sourceViewController;
    UIViewController *dst = (UIViewController *) self.destinationViewController;
    NSLog(@"src %@", src);
    [src.navigationController pushViewController:dst animated:NO];
}

@end

使用此segue会在某些情况下使我的应用程序崩溃。当我禁用此代码并使用push segue时,它工作正常。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

上面的代码对我来说很好。你如何在这个子类segue中调用“perform”方法?我使用以下示例检查了您的子类,它工作正常,您能使用代码调用“执行”方法吗?

SecondViewController *second = [[SecondViewController alloc] init];
NoAnimationSegue *animate = [[NoAnimationSegue alloc] initWithIdentifier:@"1" source:self destination:second];
[animate perform];

答案 1 :(得分:0)

出现此问题是因为我在故事板中添加了一个手势识别器给我的destinationViewController

当我删除手势识别器或通过代码添加识别器时...它工作正常。