Objective c 关闭通过模式序列显示的视图

Objective c 关闭通过模式序列显示的视图,objective-c,ios,cocoa-touch,uistoryboard,Objective C,Ios,Cocoa Touch,Uistoryboard,我正在手动调用一个segue(设置为modal),以便在Xcode 4.2中使用具有以下代码行的故事板显示登录表单: [self performSegueWithIdentifier:@"LoginSegue" sender:nil]; 我可能错过了一些非常简单的东西,但是我找不到一种方法以编程方式关闭登录视图并返回到上一个视图 视图是导航视图控制器的一部分,因此将segue type设置为“push”允许我使用后退按钮将我返回到上一个屏幕,但在“model”模式下,我不完全确定如何实现这一点

我正在手动调用一个segue(设置为modal),以便在Xcode 4.2中使用具有以下代码行的故事板显示登录表单:

[self performSegueWithIdentifier:@"LoginSegue" sender:nil];
我可能错过了一些非常简单的东西,但是我找不到一种方法以编程方式关闭登录视图并返回到上一个视图

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


非常感谢您的帮助。

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

[self dismissViewControllerAnimated:YES completion:nil];
或使用Swift:

self.dismissViewControllerAnimated(true, completion: nil)

如果部署目标较旧,请使用以下(已弃用)消息:


以下应该可以很好地工作

[self dismissModalViewControllerAnimated:YES];

我在my中的登录页面上完全做到了这一点,没有任何问题。

[self dismissViewControllerAnimated:YES completion:nil]
是IOS5中的一种新方法,以下代码在swift 3中工作:

 self.dismiss(animated: true, completion: nil)

谢谢Rob,我已经试过了,但似乎没有任何效果。这有什么特殊的条件吗?我在一个故事板中用两个VCs做了一个简单的测试用例。初始VC有一个“模态”按钮,该按钮与第二个VC的模态序列相连。第二个VC有一个“dismise”按钮,连接到一个方法,该方法执行
[self dismissModalViewControllerAnimated:YES]
。它按预期工作。我不知道有什么特殊情况,我只想指出我已经解决了这个问题。作为故事板新手,我没有将segue类型设置为modal one实例,所以这是一个用户错误!谢谢。我也试过这个:[self.presentingViewController dismissingviewcontrolleranimated:YES completion:nil]而且它也能工作,为什么?演示视图控制器执行dismissing操作。当您将其发送到演示视图控制器时,演示视图控制器会自动将消息转发给演示视图控制器。xcode仅为IDE,我将编辑此消息,但现在已在iOS7中弃用:改用DismissViewControllerInitiated:completion:。
 self.dismiss(animated: true, completion: nil)