通话时iOS状态栏高度不正确
Posted
技术标签:
【中文标题】通话时iOS状态栏高度不正确【英文标题】:iOS Status Bar Height Incorrect when In a Call 【发布时间】:2017-06-01 19:37:02 【问题描述】:我看到一个问题,如果用户在通话时打开我的应用程序,或者执行其他导致状态栏为双倍高度的操作,则整个布局会被状态高度向下推吧。
例如,如果用户输入一个电话并且他们已经在应用程序中,那么布局将如下所示:
但是,如果用户已经在通话并进入应用程序,则布局将如下所示(图像底部的导航栏被截断是问题的一部分,而不是屏幕截图的问题):
我所有的布局都是通过 StoryBoard 创建的,并且正在使用 AutoLayout。我最近还审查并修复了任何看起来不好或不合适的 AutoLayout 约束。
如果有人对可能发生的事情或解决此问题的方法有指导,将不胜感激!
【问题讨论】:
【参考方案1】:在标签栏控制器所在的主视图控制器中,确保覆盖 viewDidLayoutSubviews() 并调整 UITabBarController 的大小:
override func viewDidLayoutSubviews()
super.viewDidLayoutSubviews()
self.myTabViewController.view.frame = self.view.bounds
【讨论】:
这很有效,尽管我不得不为我的视图结构稍微调整一下。谢谢!【参考方案2】:使用以下:
func viewWillLayoutSubviews
self.view.layoutIfNeeded()
【讨论】:
不走运。我也试过在打电话之前打电话给self.view.setNeedsLayout()
,但还是没有。以上是关于通话时iOS状态栏高度不正确的主要内容,如果未能解决你的问题,请参考以下文章