gpt4 book ai didi

ios - 使用自定义 View Controller 转换,我在哪里可以隐藏状态栏?

转载 作者:行者123 更新时间:2023-11-29 02:29:23 24 4
gpt4 key购买 nike

示例项目: http://cl.ly/1C0N0E0f3n2P

我正在尝试在 iOS 8 中创建到 View Controller 的自定义转换。我正在使用 UIPresentationController 以及实现 NSObject 子类>UIViewControllerAnimatedTransitioning,基本遵循this tutorial .

我还想在显示 View Controller 时隐藏状态栏,但我不知道在这个范例中我应该在哪里做这件事。

每当我尝试在 UIPresentationController 子类中的 presentingViewController 上调用方法,或使用 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 原则。

最佳答案

以下代码将修复崩溃。

let controller = presentingViewController as UINavigationController
let ctl = controller.topViewController as ViewController
ctl.testFunction()

关于ios - 使用自定义 View Controller 转换,我在哪里可以隐藏状态栏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27096626/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com