示例项目: http ://cl.ly/1C0N0E0f3n2P
我正在尝试在 iOS 8 中创建到视图控制器的自定义转换。我正在使用一个UIPresentationController
以及一个NSObject
实现的子类UIViewControllerAnimatedTransitioning
,基本上遵循本教程。
当视图控制器出现时,我也想隐藏状态栏,但我不知道在这个范例中我要在哪里执行此操作。
每当我尝试调用子类presentingViewController
中的方法UIPresentationController
或使用子类中的键时NSObject
,我总是会崩溃,让我相信我不应该在这些上调用方法?
示例中的示例:
class CustomPresentationController: UIPresentationController {
override func presentationTransitionWillBegin() {
// Following line causes crash
(presentingViewController as ViewController).testFunction()
let darkOverlayView = UIView(frame: presentingViewController.view.bounds)
darkOverlayView.backgroundColor = UIColor(white: 0.0, alpha: 0.5)
containerView.addSubview(darkOverlayView)
}
}
那么我到底在哪里隐藏状态栏呢?我不想在调用的同时调用它presentViewController
,因为每次出现时我都想隐藏状态栏,因此为了 DRY 原则,它应该包含在动画本身中。