1

我有一个共享表/扩展,由于某种原因,它没有淡化状态栏(即使它淡化了屏幕的其余部分)。我已经包含了一张图片来演示这个问题。我只是想让整个屏幕消失,包括状态栏。过去,我遇到过 UIAlertControllers 没有使状态栏褪色的类似问题。

状态栏的图像不褪色

4

3 回答 3

2

我认为最好只在必要时UIViewControllers(在需要时)通过使用来调整它,

override var preferredStatusBarStyle: UIStatusBarStyle {
    return UIStatusBarStyle.default  //dark content
}

或在育儿上UINavigationController,以避免您遇到的上述错误。

于 2018-11-02T23:43:36.320 回答
0

您是否正在呈现带有动画的 UIAlertController:设置为 true?我无法使用 buo.showShareSheet() 方法重现此问题:

 let buo = BranchUniversalObject(canonicalIdentifier: "referrer/\(UUID().uuidString)")
        buo.title = "Test"
        buo.contentDescription = "Test"

        let lp: BranchLinkProperties = BranchLinkProperties()
        lp.feature = "referral"
        lp.addControlParam("user_id", withValue: UUID().uuidString)

        buo.showShareSheet(with: lp, andShareText: instructionString, from: self) { (params, success) in

        }
于 2018-11-01T10:48:51.993 回答
0

由于我将此视为应用程序范围的问题,因此我开始查看我的 AppDelegate 而不是单个视图控制器。我发现了一个setStatusBarBackgroundColor(color: UIColor.white)在应用程序启动时调用的函数,这似乎是原因。

func setStatusBarBackgroundColor(color: UIColor) {
    guard let statusBar = UIApplication.shared.value(forKeyPath: "statusBarWindow.statusBar") as? UIView else { return }
    statusBar.backgroundColor = color
}

坦率地说,我不确定我为什么要写这个,但删除它似乎可以完全解决问题。

于 2018-11-02T22:58:36.253 回答