2

我的应用程序中有一个 UITabBarController。

我想从一个选项卡,另一个 UIViewController 中呈现。

所以我写了ViewControllerA(这是tabviewcontroller中的一个选项卡):

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
MyViewController *chooseTemplateController = [storyboard instantiateViewControllerWithIdentifier:@"myController"];
[self.tabBarController presentViewController:myController animated:NO completion:nil];

这很好地显示了 MyViewController。

但是,我怎样才能解除 MyViewController?

我读到了许多我需要打电话的问题:

[self.tabBarController dismissViewControllerAnimated:NO completion:nil];

但是 - 我从哪里调用它?我从 MyViewController 尝试过 - 但由于它不是 UITabBar 的一部分,所以 self.tabBarController 为空。

我从情节提要而不是从 appDelegate 初始化 UiTabBarController,我想保持这种状态。

4

1 回答 1

6

使用呈现的 viewController 的presentingViewController属性

Objective-C

[self.presentingViewController  dismissViewControllerAnimated:NO completion:nil];

迅速

presentingViewController?.dismissViewControllerAnimated(false, completion: nil)

你也可以使用这个速记版本(我不建议你这样做,但你会经常看到)

Objective-C

[self dismissViewControllerAnimated:NO completion:nil];

迅速

dismissViewControllerAnimated(false, completion: nil)

请参阅
关闭呈现的视图控制器

于 2013-02-06T15:31:10.953 回答