ios - WebView 和状态栏

标签 ios swift uiwebview

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

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

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

对不起链接,但是我不能上传图片,因为我是新手

最佳答案

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

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

enter image description here

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

2017 年 12 月 1 日更新

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

除非您的应用需要自定义绘图,否则我建议您以后完全依赖自动布局。在 UIViewController 中,将 subview 的 topAnchor 与 UIViewController View 的 safeLayoutGuide.topAnchor 相关联,等等。

关于ios - WebView 和状态栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36705339/

相关文章:

iphone - uiscrollview滚动时如何添加声音

iphone - ASIHTTPRequest 在模拟器上工作,但在 iPhone 上不工作

ios - 如何在 UIWebView 请求中添加自定义 HTTP header ,我的 UIWebView 是基于 Cordova 项目的?

android - iOS 4 上的共享首选项

ios - TableViewController 不更新单元格

ios - 在 UINavigationController 中,topViewController、visibleViewController、presentedViewController 之间有什么区别?

ios - 如何打开 UIWebview 并全屏播放视频并强制横向播放?

objective-c - 使用 isEqualToString 时访问错误

swift - 在 swift cocoa 中将 m3u8 视频保存到磁盘

ios - 从 segue 显示 View 时导航栏消失