如何在使用故事板时将navigationcontroller推送动画设置为“否”

时间:2012-07-05 02:00:01

标签: iphone objective-c xcode uinavigationcontroller storyboard

我正在将故事板用于基于导航的iphone应用程序。 我希望viewcontrollers使用“pushviewcontroller”属性进行导航,但同时我不希望它们设置动画。我只想将他们的Animation属性设置为“NO”

如何使用故事板进行此操作?

2 个答案:

答案 0 :(得分:6)

要扩展@azethoth的答案,创建一个无动画segue就像这样简单:

@interface NoAnimationSegue : UIStoryboardSegue
@end

@implementation NoAnimationSegue    
- (void)perform
{
    [[self.sourceViewController navigationController] pushViewController:self.destinationViewController animated:NO];
}    
@end

答案 1 :(得分:2)

据我所知,没有办法以声明的方式做到这一点。您可以手动调用

[sourceController pushViewController:destination animated:NO];

或者,如果您对使用segue感到满意,可以创建自己的UIStoryboardSegue子类并实现perform方法来执行上述操作。然后在故事板中,您可以使用自定义segue并输入您的segue子类的名称。