我正在使用相机应用程序,其中相机视图以模态显示.完成裁剪后.我执行一个放松的segue MainPageViewController.(请看截图)

我的展开功能MainPageViewController如下:
@IBAction func unwindToMainMenu(segue: UIStoryboardSegue) {
self.performSegueWithIdentifier("Categories", sender: self)
}
Run Code Online (Sandbox Code Playgroud)
其中,"类别"是从推SEGUE标识符MainPageViewController到CategoriesTableViewController.
程序进入unwindToMainMenu函数但不执行push segue.知道如何解决这个问题吗?
注意:我发现了同样的问题,但答案建议改变故事板结构.
UINavigationController的文档不包含pushViewController带completion:参数的方法.
uiviewcontroller uinavigationcontroller pushviewcontroller ios
所以我有2个视图控制器,我想从视图控制器1到带有自定义动画的视图控制器2。这是我的自定义动画的代码:
let transition = CATransition()
transition.duration = 0.5
transition.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionDefault)
transition.type = kCATransitionPush
transition.subtype = kCATransitionFromRight
self.view.window?.layer.add(transition, forKey: nil)
Run Code Online (Sandbox Code Playgroud)
在调用performSegue()之前,我先运行了它,然后它起作用了。但是我想做的是在视图控制器2的代码中,我想在segue动画完成后(在0.5秒后)运行某些内容。我的视图控制器不是导航控制器的一部分,因此本文无济于事。我也希望我的代码在目标视图控制器中,但是本文在源视图控制器中有它,因此也无济于事。
我已经尝试过测试viewDidLoad()和viewDidAppear(),但是它们都在滑动动画完成之前运行。请帮忙,谢谢!