0

我正在使用一个UIStoryboardSegue子类来抑制推送动画序列。

#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 时,它​​工作正常。

有任何想法吗?

4

2 回答 2

0

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

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

于 2012-12-25T06:39:38.583 回答
0

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

SecondViewController *second = [[SecondViewController alloc] init];
NoAnimationSegue *animate = [[NoAnimationSegue alloc] initWithIdentifier:@"1" source:self destination:second];
[animate perform];
于 2012-12-17T13:29:25.157 回答