我的项目有问题。
我创建了从一个VC到另一个VC的自定义过渡。工作正常,但是我的项目正在扩展,因此我需要一个导航控制器。
func itemButtonTapped(item: Item?) {
if let item = item {
let itemVC = storyboard!.instantiateViewControllerWithIdentifier("ItemViewController") as! ItemViewController
itemVC.item = item
itemVC.transitioningDelegate = self
//navigationController?.presentViewController(itemVC, animated: true, completion: nil) // #1
//navigationController?.pushViewController(itemVC, animated: true) //#2
}
}
上面的代码旨在将viewController添加到现有的导航控制器中。
选项#1-它使用我的自定义过渡并显示VC,但未将其放置在现有的navigiationController中
选项#2-它不使用我的自定义过渡,而是显示嵌入在现有navigationController中的VC
我应该怎么做才能合并这些选项,以便可以使用自定义转换显示VC并将其添加到现有的NavigationController中?
最佳答案
UINavigationController是一个特例,您不能像普通视图控制器那样仅使用过渡委托。相反,您需要遵循UINavigationControllerDelegate
协议,并通过这些方法提供要实现的自定义过渡动画。
此处的文档:
https://developer.apple.com/library/ios/documentation/UIKit/Reference/UINavigationControllerDelegate_Protocol/
关于ios - 在navigationController中呈现viewController,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37449011/