ios - UIWebView 从后台返回后在 iOS 7 上更改 contentSize

标签 ios iphone objective-c uiwebview ios7

问题:

我的 UINavigationBarUITabBar 之间有一个 UIWebView。在 iOS 7 上,当应用程序进入后台并再次返回时,似乎 UIWebViewcontentSize 属性发生了变化,因此其上方有一个白色 block 。

在监控UIWebViewcontentSize后,当应用程序进入前台时(我通过观察UIApplicationDidBecomeActiveNotification来检查),它有49从它的高度中减去。

屏幕截图(删除敏感信息): Redacted version of the screenshot

我的设置:

我在我的 UIViewController 中使用 UIWebView,它嵌入在 UITabBarViewController 中,而 UITabBarViewController 嵌入在 UINavigationController 中>。我正在使用 Storyboard 并启用“调整 ScrollView 插入”、“从 NIB 调整 View 大小”和“在 Tob 栏下扩展边缘”。在 UIWebView 上,我没有选中“Scales Page To Fit”。我没有在 viewDidAppearviewWillAppear 方法中做任何事情。我在 iOS 6 上测试过,并没有出现问题。另外,我没有使用自动布局。

相关代码:

self.webView.scrollView.scrollEnabled = NO;
self.webView.scrollView.bounces = NO;
self.webView.scalesPageToFit = NO;

viewDidAppearappHasGoneInForeground 中监控 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/

相关文章:

ios - 使用 SKPSMTPMessage 发送的电子邮件附件在 iOS 邮件客户端中显示为联系人

ios - GPUImage 裁剪为 CGRect 并旋转

iphone - 使用AudioServicesAddSystemSoundCompletion传递参数

objective-c - 如何使用 VideoToolbox 解压 H.264 视频流

ios - 缩放 MapView 以适合所有图钉

objective-c - 使用 prepareForSegue 在 View 之间发送图像

ios - 应用程序在iPhone 5S上崩溃,但在iPhone 4S上没有崩溃。

android - 当我 "remove"来自 Apple 和 Android App Store 的付费应用程序时会发生什么?

iphone - 我有 XML 喜欢遵循如何使用 touchXML 解析,我想为 <p231 :proNum>26400174350</p231:proNum> 获取像 26400174350 这样的数据

iPhone 显示屏宽度