Iphone 如何将navigationcontroller推送动画设置为;否";在使用故事板时
我正在为基于导航的iphone应用程序使用故事板。 我希望ViewController使用“pushviewcontroller”属性进行导航,但同时我不希望它们设置动画。我只想将其动画属性设置为“否”Iphone 如何将navigationcontroller推送动画设置为;否";在使用故事板时,iphone,objective-c,xcode,uinavigationcontroller,storyboard,Iphone,Objective C,Xcode,Uinavigationcontroller,Storyboard,我正在为基于导航的iphone应用程序使用故事板。 我希望ViewController使用“pushviewcontroller”属性进行导航,但同时我不希望它们设置动画。我只想将其动画属性设置为“否” 我如何使用故事板来实现这一点?据我所知,没有方法以声明的方式实现这一点。您可以手动调用 [sourceController pushViewController:destination animated:NO]; 或者,如果您一心想使用segue,您可以创建自己的UIStoryboardSeg
我如何使用故事板来实现这一点?据我所知,没有方法以声明的方式实现这一点。您可以手动调用
[sourceController pushViewController:destination animated:NO];
或者,如果您一心想使用segue,您可以创建自己的
UIStoryboardSegue
子类,并实现perform
方法来执行上述操作。然后在故事板中,您可以使用自定义segue并输入segue子类的名称。要通过@azethoth扩展答案,创建无动画segue非常简单:
@interface NoAnimationSegue : UIStoryboardSegue
@end
@implementation NoAnimationSegue
- (void)perform
{
[[self.sourceViewController navigationController] pushViewController:self.destinationViewController animated:NO];
}
@end
请注意,自定义分段的行为类似于模式推送,而不类似于常规推送,这意味着您在情节提要中不会有推断的模拟度量,并且由于它是“模式”的,因此呈现视图控制器视图将退出viewstack,从而忘记透明度功能。