Tag: presentviewcontroller uipresentationcontroller

呈现视图控制器而不更改状态栏颜色,如UIAlertController

在执行一些networking操作时,我提出了一个模式视图控制器(类似于MBProgressHUD,但是作为视图控制器),以防止用户交互并指示进度。 视图控制器具有modalPresentationStyle = .Custom并使用转换委托和自定义表示控制器进行animation处理。 除了animation过渡之外,他们没有自定义操作来驱动演示文稿。 我有的问题是,无论何时呈现视图控制器,它将状态栏颜色黑色。 我可以重写preferredStatusBarStyle ,使其始终返回.LightContent但有时这个视图控制器是通过一个视图控制器与.Default呈现,我不想在那里改变它。 基本上,我想拥有与UIAlertController相同的行为。 我已经尝试configuration演示文稿控制器以将呈现的视图控制器移出状态栏空间: private class SEUIProgressControllerPresentationController: UIPresentationController { override func shouldPresentInFullscreen() -> Bool { return false } private override func frameOfPresentedViewInContainerView() -> CGRect { return super.frameOfPresentedViewInContainerView().insetBy(dx: 40, dy: 100) } … } 这些设置确实将所呈现的控制器的顶部移出状态栏,但状态栏仍然受到影响。 有没有一个财产我缺less,将停止我的视图控制器更新状态栏的风格?