Global Unwind Segue

时间:2015-02-03 22:09:46

标签: ios objective-c swift storyboard unwind-segue

我有一个可以在应用程序外触发的重置通知,无论用户在做什么,都会退出并返回到主屏幕,因为数据已经无效。目前,我不得不在每个视图控制器中放置unwind segue,但我只想在发生此通知时以编程方式调用全局performSegueWithIdentifier。有很多视图控制器,并且不得不在任何地方复制此代码并不是很好,随着新视图控制器添加到项目中,它将成为维护问题。有这么简单的方法吗?

1 个答案:

答案 0 :(得分:2)

您可以快速转到特定的视图控制器而不需要segues。如果您有一个故事板,请在视图控制器中调用它。

self.view.window.rootViewController = [self.storyboard instantiateInitialViewController];

或按故事板ID转到初始视图控制器

self.view.window.rootViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"StoryboardID"];

如果您在应用中有多个故事板,则应首先获得特定的故事板。

UIStoryboard* storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]];
self.view.window.rootViewController = [storyboard instantiateInitialViewController];

如评论所述,如果您有导航控制器容器,只需切换到根视图控制器。

[self.navigationController popToRootViewControllerAnimated:YES]