如何在UIWebView中设置内容偏移量和内容大小

时间:2010-08-19 19:03:04

标签: iphone objective-c uiwebview

由于格式原因,我不得不将UIScrollView更改为UIWebView

虽然我需要能够将内容偏移量恢复到0, 0(因为我正在使用可重复使用的UIWebView并更改内容)并且获取内容大小以便我可以在底部放一个按钮;但是UIWebView似乎没有这个。

6 个答案:

答案 0 :(得分:28)

这个问题很容易解决:

[[webView scrollView] setContentInset:UIEdgeInsetsMake(64, 0, 44, 0)];

请记住,UIEdgeInset与CGRect不同!
可以找到关于UIEdgeInset的指南in the iOS Developer Library

答案 1 :(得分:8)

我发现解决问题的最佳方法是:

  1. 创建UIWebView
  2. 将其放入UIScrollView
  3. 使用“loadHTMLString”
  4. 将HTML添加到其中
  5. 使用“ - (void)webViewDidFinishLoad:(UIWebView *)webView {”委托方法我检测UIWebView的大小

  6. UIWebView的框架设置为内容大小。

  7. UIWebView
  8. 中删除互动
  9. UIScrollView的内容大小设置为内容大小。
  10. 然后使用UIScrollView的功能代替UIWebView

    由于 -JM

答案 2 :(得分:7)

使用JavaScript。

我认为下一行应该是魔术:

[webView stringByEvaluatingJavaScriptFromString:@"window.scroll(0,0)"];

答案 3 :(得分:3)

现在,您可以要求contentSize的{​​{1}}属性的scrollView属性。 这使您还可以使用UIWebView更改该Web视图的内容大小。

答案 4 :(得分:1)

获得UIScrollView内的UIWebView后,可以轻松更改ContentOffset和contentSize。有关如何获取scrollView的信息:ScrollOffset in UIWebView?

答案 5 :(得分:-1)

为我工作

[[webView scrollView] setContentInset:UIEdgeInsetsMake(64, 0, 44, 0)];