dismissViewControllerAnimated() 不会关闭视图控制器
Posted
技术标签:
【中文标题】dismissViewControllerAnimated() 不会关闭视图控制器【英文标题】:dismissViewControllerAnimated() does not dismiss view controller 【发布时间】:2014-09-21 18:51:53 【问题描述】:我正在使用 xcode 6。我的故事板中有一个“取消”按钮,当我单击它时,我想关闭我的视图控制器并返回到我原来的位置。所以在我的情节提要中,我将取消按钮连接到我的视图控制器,并通过“修饰”到我的“handleCancel”方法。
当我触摸按钮时,我看到正在调用“handleCancel”。我看到了我放的调试 printfs。但它不会解雇我当前的视图控制器。
@IBAction func handleCancel(sender: AnyObject)
println("Calling handle Cancel")
self.dismissViewControllerAnimated(false, completion: nil)
你能告诉我我还缺少什么吗?
谢谢。
【问题讨论】:
此代码所在的控制器是否由模态呈现(或模态转场)呈现? 【参考方案1】:当前的控制器类是什么?用户界面控制器? UINavigationController?等等。呈现控制器的类是什么?最后,你使用了什么样的segue?如果不确定,请检查情节提要中的连接检查器。根据这些答案会有不同的技术。
例如,如果这是 UINavigationController 中的推送转场,您将弹出视图:
self.navigationController?.popViewControllerAnimated(true)
任何方法,让我们知道。
【讨论】:
当前控制器是一个 UIViewController。它有一个“取消”按钮。当用户按下“取消”按钮时,我想将其关闭。在此之前,控制器是 UITableViewController,我通过单击导航栏中的按钮来启动此控制器。我在按钮中使用“显示”segue。 是push segue还是modal segue? 哇,你认真解决了我的问题!感谢您的解释和回答。我有不同类型的控制器,我没有意识到你必须使用不同的方法来关闭。以上是关于dismissViewControllerAnimated() 不会关闭视图控制器的主要内容,如果未能解决你的问题,请参考以下文章
dismissViewControllerAnimated:completion: 导致内存崩溃
在当前动画完成之前开始dismissViewControllerAnimated
调用了dismissViewControllerAnimated,但没有解除ViewController
状态恢复后,dismissViewControllerAnimated 没有使用相同的动画
dismissViewControllerAnimated() 不会关闭视图控制器
dismissViewControllerAnimated:completion: 方法替换在 Xcode4.6.1 上不起作用