WebView和状态栏

时间:2016-04-18 22:22:00

标签: ios swift uiwebview

当我运行我的Web应用程序时,WebView接管状态栏,如图所示: http://imgur.com/JggYPP2

我想分开。 一个例子是: http://imgur.com/Zll2Oes

如何设置WebView才能产生这种效果?

很抱歉这些链接,但我无法上传图片,因为我是新的

1 个答案:

答案 0 :(得分:5)

UIWebView和WKWebView类都继承自UIView,这意味着我们可以将UIStatusBar实例错误地重叠UIView实例来解决问题。

如果在故事板中使用自动布局,请在Web视图顶部和UIViewController视图顶部布局指南底部之间创建约束(值为0)。通过将约束与Top Layout Guide相关联,如果iOS设计人员改变它,您的Web视图将始终响应状态栏高度。

enter image description here

如果您以编程方式呈现Web View并且不希望使用自动布局,请检查CGRectOffsetCGRectInset以手动设置Web View的框架。在这篇文章发布时,状态栏的高度为20分。

更新12/1/17

在推出第一款带有非矩形屏幕的iPhone(iPhone X)之前,Apple在iOS 11中引入了Safe Areas来管理UIView与设备边界的关系。除了管理设备的物理边界外,安全区还可以观察软件边界,例如虚拟主页按钮。

除非您的应用需要自定义绘图,否则我建议您仅继续使用Autolayout。在UIViewController中,将您的子视图的topAnchor与UIViewController视图的safeLayoutGuide.topAnchor相关联,依此类推。