1

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

4

1 回答 1

2

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

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]
于 2015-02-04T07:21:29.987 回答