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

jod*_*odm 17 iphone objective-c uiwebview

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

虽然我需要能够将内容偏移回到0, 0(因为我使用可重用的UIWebViews和更改内容)并获得内容大小以便我可以在底部放置一个按钮,但是存在一个问题.但UIWebView似乎没有这个.

Bav*_*aan 28

这个问题很容易解决:

[[webView scrollView] setContentInset:UIEdgeInsetsMake(64, 0, 44, 0)];
Run Code Online (Sandbox Code Playgroud)

请记住,UIEdgeInset与CGRect不同!
可以在iOS Developer Library中找到UIEdgeInset指南.


jod*_*odm 8

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

  1. 创建一个 UIWebView
  2. 把它放进去 UIScrollView
  3. 使用"loadHTMLString"将HTML添加到其中
  4. 使用" - (void)webViewDidFinishLoad:(UIWebView*)webView {"委托方法我检测到的大小 UIWebView

  5. 将框架设置为UIWebView内容大小.

  6. 从中移除互动 UIWebView
  7. 将内容大小设置为内容UIScrollView大小.

然后使用了UIScrollView代替的功能UIWebView.

谢谢-JM

  • 我认为这是一个非常糟糕的主意,因为你最终会创建一个耗尽所有资源的UIWebView - 创建一个数千像素高的UIWebView是坏消息. (4认同)
  • 你在第5步和第7步做了什么?也许,一些代码示例?什么内容大小? (2认同)

Mic*_*ler 7

使用JavaScript.

我认为下一行应该有魔力:

[webView stringByEvaluatingJavaScriptFromString:@"window.scroll(0,0)"];
Run Code Online (Sandbox Code Playgroud)