iOS7上带有标签栏的奇怪顶部空间

Posted

技术标签:

【中文标题】iOS7上带有标签栏的奇怪顶部空间【英文标题】:Strange top space with tab bar on iOS7 【发布时间】:2015-07-31 02:37:04 【问题描述】:

我有一个tabBarController,tabBarController的每个viewController都有一个webview来加载网页。

应用启动时,webview顶部出现了一个意想不到的空白,该空白的大小约为(屏幕宽度*状态栏高度),截图如下:

但是如果我点击另一个标签,然后回到这个标签,空白就消失了。

这个bug只是在ios7中,iOS8中没有意外的空间。 而且这个bug只存在于设备中,模拟器没有这个bug。

请给一些建议如何解决这个错误。 非常感谢。

【问题讨论】:

听起来像是 webview 的 contentInsets 的问题。尝试在viewDidLayoutSubviews 中手动设置。 @AaronBrager 非常感谢。是的,在父类中有一个方法,-(void)viewDidLayoutSubviews。它使用了self.topLayoutGuide.length,应用启动时这个值为20,但在标签之间切换时这个值为0。所以20是导致空白bug的原因。 【参考方案1】:

听起来像是 webview 的 contentInsets 的问题。尝试在viewDidLayoutSubviews 中手动设置。

【讨论】:

以上是关于iOS7上带有标签栏的奇怪顶部空间的主要内容,如果未能解决你的问题,请参考以下文章

带有标签栏的左侧菜单?

在 iOS 7 上更改标签栏色调颜色

iOS上具有输入字段和标签的顶部固定导航栏的不可预测行为

设置标签栏的初始视图控制器

如何防止子视图重叠标签栏?

从带有搜索栏的表格单元格创建模式视图时,无法在导航栏中创建后退按钮