防止 Tab Bar 截断 WKWebView 文本

Posted

技术标签:

【中文标题】防止 Tab Bar 截断 WKWebView 文本【英文标题】:Prevent Tab Bar from cutting off WKWebView text 【发布时间】:2017-04-23 13:28:25 【问题描述】:

我们的 UITabBar 正在切断我们 WKWebView 文本的底部。

我们的 Storyboard 视图在屏幕顶部有一些标签,并以编程方式在这些标签下方设置了一个 WKWebView。效果很好,但是您无法滚动到 WKWebView 的末尾以查看文本的最后一行。

我相信 UIWebView 不会发生这种情况,但该 API 已被弃用。

我理解automaticallyAdjustsScrollViewInsets 是解决方案,但显然that doesn't work 在这种情况下。

已尝试在情节提要上将 Extend Edges \ Under Bottom Bars 设置为 false。这接近解决问题 - 滚动问题得到解决。唯一的问题是选项卡栏然后将颜色更改为较深的颜色,我似乎无法将其恢复为默认的浅灰色金属色。

这样做的正确方法是什么?

【问题讨论】:

可以添加当前视图层次的截图吗? developer.apple.com/library/content/documentation/… 【参考方案1】:

WKWebView 包含 UIScrollView。 UIScollView 具有 contentInset 属性。 https://developer.apple.com/reference/uikit/uiscrollview/1619406-contentinset 使用此属性可添加到内容周围的滚动区域。大小的单位是点。默认值为 UIEdgeInsetsZero。

【讨论】:

谢谢。是的,这就是我最终要做的(见我的回答)。【参考方案2】:

根据其他一些 SO 帖子弄清楚了:

webView.scrollView.contentInset = UIEdgeInsetsMake(0.0, 0.0, controller.tabBarController!.tabBar.frame.height, 0.0)

...也许有更好的方法(?)但这很有效。

【讨论】:

以上是关于防止 Tab Bar 截断 WKWebView 文本的主要内容,如果未能解决你的问题,请参考以下文章

iOS防止在WKWebView中打开Universal Link( Prevent universal links from opening in WKWebView)

使用 tabbarcontroller 代替 tab bar 和 tab bar item 的好处

iOS 自定义tab bar 怎么隐藏

MySQL如何防止字符串截断[重复]

防止 sqlplus 截断列名,没有单独的列格式

如何防止在事件日志中截断服务异常