问题:
我的 UINavigationBar
和 UITabBar
之间有一个 UIWebView
。在 iOS 7 上,当应用程序进入后台并再次返回时,似乎 UIWebView
的 contentSize
属性发生了变化,因此其上方有一个白色 block 。
在监控UIWebView
的contentSize
后,当应用程序进入前台时(我通过观察UIApplicationDidBecomeActiveNotification
来检查),它有49从它的高度中减去。
屏幕截图(删除敏感信息):
我的设置:
我在我的 UIViewController
中使用 UIWebView
,它嵌入在 UITabBarViewController
中,而 UITabBarViewController
嵌入在 UINavigationController
中>。我正在使用 Storyboard 并启用“调整 ScrollView 插入”、“从 NIB 调整 View 大小”和“在 Tob 栏下扩展边缘”。在 UIWebView
上,我没有选中“Scales Page To Fit”。我没有在 viewDidAppear
或 viewWillAppear
方法中做任何事情。我在 iOS 6 上测试过,并没有出现问题。另外,我没有使用自动布局。
相关代码:
self.webView.scrollView.scrollEnabled = NO;
self.webView.scrollView.bounces = NO;
self.webView.scalesPageToFit = NO;
在 viewDidAppear
和 appHasGoneInForeground
中监控 contentSize 和 frame 之后:
帧从 320x455 变为 320x455 contentSize 从 320x504 变为 320x455
有谁知道我在这里遗漏了什么和/或为什么会这样?感谢您的宝贵时间!
最佳答案
请在 webView 的 viewController 中尝试 self.automaticallyAdjustsScrollViewInsets = NO
。
automaticallyAdjustsScrollViewInsets是iOS7 SDK中的新属性,默认值为YES。它可以在iOS7中自动调整viewController的scrollView。您可以通过google搜索获得更多信息。
希望对您有所帮助。
关于ios - UIWebView 从后台返回后在 iOS 7 上更改 contentSize,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20262938/