我正在使用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时,它工作正常。
有什么想法吗?
答案 0 :(得分:0)
上面的代码对我来说很好。你如何在这个子类segue中调用“perform”方法?我使用以下示例检查了您的子类,它工作正常,您能使用代码调用“执行”方法吗?
SecondViewController *second = [[SecondViewController alloc] init];
NoAnimationSegue *animate = [[NoAnimationSegue alloc] initWithIdentifier:@"1" source:self destination:second];
[animate perform];
答案 1 :(得分:0)
出现此问题是因为我在故事板中添加了一个手势识别器给我的destinationViewController
。
当我删除手势识别器或通过代码添加识别器时...它工作正常。