77

我正在手动调用 segue(设置为模态),以便使用带有以下代码行的 Storyboard 在 Xcode 4.2 中显示登录表单:

[self performSegueWithIdentifier:@"LoginSegue" sender:nil];

我可能错过了一些非常简单的东西,但是我找不到以编程方式关闭登录视图并返回到前一个视图的方法。

该视图是导航视图控制器的一部分,因此将 segue 类型设置为“推送”允许我使用后退按钮将我发送回上一个屏幕,但在“模态”模式下,我不完全确定如何实现这一点(例如,按下按钮后)

任何帮助将非常感激。

4

4 回答 4

173

如果您的部署目标是 iOS 5.0 或更高版本,请使用以下消息:

[self dismissViewControllerAnimated:YES completion:nil];

或者在 Swift 中:

self.dismissViewControllerAnimated(true, completion: nil)

如果您的部署目标较旧,请使用此(已弃用)消息:

[self dismissModalViewControllerAnimated:YES];
于 2011-12-14T23:46:09.053 回答
13

[self dismissViewControllerAnimated:YES completion:nil];是IOS5中的一种新方式

于 2012-06-25T14:50:21.737 回答
5

以下应该可以正常工作...

[self dismissModalViewControllerAnimated:YES];

我在这里的最新教程中使用登录页面完全做到了这一点,没有任何问题。

于 2011-12-15T11:19:56.353 回答
4

以下代码适用于 swift 3:

 self.dismiss(animated: true, completion: nil)
于 2017-07-13T10:39:38.093 回答