31

我想知道他们有什么不同。我什么时候可以打电话

[self dismissViewControllerAnimated:YES completion:nil];

我什么时候应该打电话

[self.navigationController popViewControllerAnimated:YES];

根据苹果的文档:dismissViewControllerAnimated 的意思是“关闭接收者呈现的视图控制器”。但是我总是无法通过这种方法关闭视图控制器。

4

2 回答 2

41

-dismissViewControllerAnimated:完成:

用于关闭UIViewController由方法呈现的 :

-presentViewController:animated:completion:.

-popViewController动画:

方法UINavigationController用于弹出一个控制器,如下所示

-pushViewController:animated的方法UINavigationController

在第一种情况下,视图控制器的视图显示为模态控制器(通常从下到上),而在第二种情况下,您将视图控制器推送到UINavigationController.

于 2012-06-18T09:31:57.347 回答
39

您选择的应用程序是基于导航的应用程序方式

[self.navigationController popViewControllerAnimated:YES];

您选择的应用程序不是基于导航的应用程序方式

[self dismissViewControllerAnimated:YES completion:nil];
于 2012-06-18T09:31:32.313 回答