dismissViewControllerAnimated()方法无法关闭视图控制器。

7
我正在使用Xcode 6。在我的Storyboard中,我有一个“取消”按钮。当我点击它时,我想要关闭当前的视图控制器并返回到之前的页面。因此,在Storyboard中,我将取消按钮与我的视图控制器连接,并将其“Touch up”事件连接到我的“handleCancel”方法。
当我点击该按钮时,我看到“handleCancel”方法被调用,并且我看到了我放置在其中的调试信息。但是它并没有关闭当前的视图控制器。请帮忙解决这个问题。
@IBAction func handleCancel(sender: AnyObject) {      
    println("Calling handle Cancel")
    self.dismissViewControllerAnimated(false, completion: nil)
}

请问还有什么遗漏的吗?谢谢。

这段代码所在的控制器是通过模态展示(或模态转场)呈现的吗? - rdelmar
1个回答

14

当前的控制器类是什么?UIViewController?UINavigationController?等等。呈现控制器的类是什么?最后,你使用了哪种类型的转场?如果不确定,请在storyboard中检查连接检查器。根据这些答案将会有不同的技术。

例如,如果这是UINavigationController中的push转场,那么你可以使用以下代码弹出视图:

self.navigationController?.popViewControllerAnimated(true)

无论如何,让我们知道。


当前控制器是UIViewController。它有一个“取消”按钮。当用户按下“取消”按钮时,我想要关闭它。在此之前,该控制器是UITableViewController,并且我通过单击导航栏中的按钮来启动此控制器。我在按钮中使用了“show”转场。 - hap497
是一个推送转场还是模态转场? - Steve Rosenberg
哇,你真的解决了我遇到的问题!感谢你的解释和答案。我有不同类型的控制器,我没有意识到必须使用不同的方法来解除。 - Pangu

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接