【问题标题】:UIWebView doesn't scroll to the bottom of the webpage loaded/createdUIWebView 不会滚动到加载/创建的网页底部
【发布时间】:2010-05-16 10:12:34
【问题描述】:

我在普通的 UIViewController 中有一个 UIWebView。 UIWebView 的内容是在我的程序中编程/动态创建的,它可能很长(多个表行)。不知何故,加载后,在屏幕上滑动时页面不会滚动超过一屏半的内容。因此,我只能看到开始的几行数据,而看不到后面的许多其他数据。这是为什么呢?

【问题讨论】:

  • 我更改了 UIWebView 中内容的行数,内容的高度似乎反映正确。我使用以下代码设置 webview 的框架。有什么不对的吗?我还从视觉上注意到滚动条范围似乎没有反映内容的变化,它是固定的吗? - (void)webViewDidFinishLoad:(UIWebView *)webView { CGFloat height = [[webView stringByEvaluatingJavaScriptFromString:@"document.body.offsetHeight;"] floatValue]; webView.frame = CGRectMake(0.0, 40.0, 320.0, height); }
  • 滚动条是 UIWebView 内置的。看起来滚动条的范围没有正确设置,当我在上面的代码之后执行以下操作时,滚动条根本没有滚动到页面底部。 [webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"window.scrollTo(0, %d);", height]];顺便说一句,这都是从 iPhone 模拟器内部观察到的。尚未在设备上试用。

标签: uiwebview scroll


【解决方案1】:

如果使用UIWebView 无法正确滚动到底部:

1) 解决问题的一种方法(以编程方式)是对UIWebView 使用适当的自动调整大小。

self.webView.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin | UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin ;

2) 解决问题的其他方法(界面生成器)是使用适当的自动调整大小为UIWebView。转到 Interface Builder->Web View->Size Inspector 并在所有位置勾选自动调整部件大小(如上图所示)

【讨论】:

  • 在哪里可以找到“界面构建器”?你在哪里截的截图?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-11-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-30
  • 1970-01-01
相关资源
最近更新 更多