Dismiss在执行segue的控制器中执行了UIViewController

时间:2015-01-29 11:50:43

标签: ios swift controller dismiss

我有UINavigationControllerUICalendarViewController。在应用运行的某个时间,在UICalendarViewController内,我使用UICalendarEventViewController执行segue。我使用

继续引用'UICalendarViewController'
var calendarViewController: UICalendarViewController!

稍后我有权访问UICalendarViewController,然后我需要关闭UICalendarEventViewController。怎么做?

我在UICalendarViewController内创建了

var calendarEventViewController: UICalendarEventViewController?

但是当我尝试使用以下方法解雇它时:

calendarViewController.calendarEventViewController.dismissViewController(true, animated: true)

它不起作用。

1 个答案:

答案 0 :(得分:0)

有时由于某种原因,我们没有与预期相同的控制器实例。在我的情况下,我没有获得UICalendarViewController的相同实例。但是有一种方法可以做到这一点,如果我使用UITabBarController作为主导航:

if let navigationController = viewControllersByIdentifier[PLContainerTabBarItemCalendar] as? UINavigationController {
        navigationController.popToRootViewControllerAnimated(true)
}

然后我有一个当前的控制器,我可以用可见的结果管理它们。