dismissViewControllerAnimated VS popViewController

2019-06-25 13:55发布

我想知道什么是他们的不同。 当我可以打电话

[self dismissViewControllerAnimated:YES completion:nil];

当我应该叫

[self.navigationController popViewControllerAnimated:YES];

的苹果根据文献:dismissViewControllerAnimated手段“驳回这是由接收器呈现的视图控制器”。 但我总不能用这种方法解雇视图控制器。

Answer 1:

您选择的应用程序是基于导航应用手段

[self.navigationController popViewControllerAnimated:YES];

你选择的应用程序比基于导航应用其他手段

[self dismissViewControllerAnimated:YES completion:nil];


Answer 2:

-dismissViewControllerAnimated:完成:

用于解雇UIViewController ,这是由该方法提出:

-presentViewController:animated:completion:

-popViewControllerAnimated:

的方法UINavigationController用于弹出由所示的控制器

-pushViewController:animated的方法UINavigationController

在第一种情况的视图控制器的视图显示作为模态控制器(通常从底部到顶部),和你正在推动在导航堆栈视图控制器第二种情况下UINavigationController



文章来源: dismissViewControllerAnimated VS popViewControllerAnimated