【发布时间】:2019-03-25 12:24:49
【问题描述】:
我有一个共享表/扩展,由于某种原因,它不会淡出状态栏(即使它会淡化屏幕的其余部分)。我已经包含了一张图片来演示这个问题。我只是想让整个屏幕消失,包括状态栏。过去,我遇到过 UIAlertControllers 没有淡出状态栏的类似问题。
【问题讨论】:
标签: ios swift branch.io ios-sharesheet
我有一个共享表/扩展,由于某种原因,它不会淡出状态栏(即使它会淡化屏幕的其余部分)。我已经包含了一张图片来演示这个问题。我只是想让整个屏幕消失,包括状态栏。过去,我遇到过 UIAlertControllers 没有淡出状态栏的类似问题。
【问题讨论】:
标签: ios swift branch.io ios-sharesheet
我认为最好只需要UIViewControllers(在需要时)通过使用来调整它,
override var preferredStatusBarStyle: UIStatusBarStyle {
return UIStatusBarStyle.default //dark content
}
或在育儿UINavigationController,以避免您遇到的上述错误。
【讨论】:
由于我将此视为应用程序范围的问题,因此我开始查看我的 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
}
坦率地说,我不确定我为什么要写这个,但删除它似乎可以完全解决问题。
【讨论】:
您是否正在呈现带有动画的 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
}
【讨论】: