我目前正在尝试使用a呈现视图控制器UIPresentationController
.我的问题是,当我的自定义转换委托调用时
func presentationControllerForPresentedViewController(presented: UIViewController, presentingViewController presenting: UIViewController!, sourceViewController source: UIViewController) -> UIPresentationController?
Run Code Online (Sandbox Code Playgroud)
我的呈现控制器nil
导致它抛出异常.我是从嵌入在导航控制器中的视图控制器中呈现它的,该控制器嵌入在标签栏控制器中.我试过从这些控制器中提出同样的问题.当没有自定义模式演示时它也可以正常工作,但我的目标是自定义它.我选择一个按钮并在下面提供代码时调用它.mapTransitionDelegate
是我保留在类属性中的自定义转换委托.此外,EnlargedMapViewController()
初始化为具有自定义模式演示文稿,以便调用我的转换委托.
var enlargedMapController = EnlargedMapViewController();
enlargedMapController.transitioningDelegate = mapTransitionDelegate;
presentViewController(enlargedMapController, animated: true, completion: nil);
Run Code Online (Sandbox Code Playgroud)
我很想知道为什么这个问题是为了未来的知识而发生的.截至目前,UIPresentationController
由于此异常,我的子类甚至没有被初始化.