在启用通话状态栏的情况下打开应用程序时的 iOS 标签栏问题

Posted

技术标签:

【中文标题】在启用通话状态栏的情况下打开应用程序时的 iOS 标签栏问题【英文标题】:iOS tab bar issue when the app is opened with in-call status bar enabled 【发布时间】:2016-11-29 20:01:36 【问题描述】:

当我在已启用通话状态栏的情况下启动应用程序时,我的标签栏只显示一半。剩下的一半被剪掉了,看不到。当我禁用通话状态栏时,我会在导航栏上方看到黑色部分。 当应用程序已经打开并且我启用了通话状态栏时没有问题。 我将如何解决这个问题?

【问题讨论】:

【参考方案1】:

我遇到了类似的问题,可以通过将此代码添加到我的 AppDelegate 中来纠正它

func application(_ application: UIApplication, willChangeStatusBarFrame newStatusBarFrame: CGRect) 
    //hack to fix bug/issues with in-call statusbar braking view constraints
    for window in UIApplication.shared.windows 
        if type(of: window).self.description().contains("UITextEffectsWindow") 
            window.removeConstraints(window.constraints)
        
    

【讨论】:

以上是关于在启用通话状态栏的情况下打开应用程序时的 iOS 标签栏问题的主要内容,如果未能解决你的问题,请参考以下文章

了解隐藏在状态栏中的幻数

包含 UINavigationController 的状态栏大小不正确

隐藏导航栏时的假状态栏颜色

通话时iOS状态栏高度不正确

UIStatusBar iOS上状态栏的自定义颜色

iOS 修改状态栏preferredStatusBarStyle不执行问题