Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/122.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS共享表/扩展未褪色状态栏_Ios_Swift_Branch.io_Ios Sharesheet - Fatal编程技术网

iOS共享表/扩展未褪色状态栏

iOS共享表/扩展未褪色状态栏,ios,swift,branch.io,ios-sharesheet,Ios,Swift,Branch.io,Ios Sharesheet,我有一个共享表/扩展,出于某种原因,它不会使状态栏褪色(即使它会使屏幕的其余部分褪色)。我已经附上了一张图片来说明这个问题。我只是想让整个屏幕淡出,包括状态栏。在过去,我也遇到过类似的问题,UIAlertController没有淡出状态栏 您是否正在演示一个UIAlertController,并将动画:设置为true?我无法使用buo.showShareSheet()方法重现此问题: 因为我认为这是一个应用程序范围内的问题,所以我开始查看我的AppDelegate,而不是单个视图控制器。我发现一

我有一个共享表/扩展,出于某种原因,它不会使状态栏褪色(即使它会使屏幕的其余部分褪色)。我已经附上了一张图片来说明这个问题。我只是想让整个屏幕淡出,包括状态栏。在过去,我也遇到过类似的问题,UIAlertController没有淡出状态栏


您是否正在演示一个UIAlertController,并将动画:设置为true?我无法使用buo.showShareSheet()方法重现此问题:


因为我认为这是一个应用程序范围内的问题,所以我开始查看我的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
}

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

我认为最好只在必要时使用

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

或者在亲职
UINavigationController
,以避免您遇到上述错误。

是的,在使用UIAlertController时出现此问题的情况下,我正在执行“动画:true”。我刚刚解决了这个问题;请看我的详细回答。确实如此。也许在早期的iOS版本中(或者由于另一个现在已更改的配置文件),状态栏在所有ViewController上都显示为黑色/黑色,因此我只是将其放在AppDelegate中,然后忘记了它。
override var preferredStatusBarStyle: UIStatusBarStyle {
    return UIStatusBarStyle.default  //dark content
}