可编辑的 UIWebview 滚动问题

Posted

技术标签:

【中文标题】可编辑的 UIWebview 滚动问题【英文标题】:Editable UIWebview Scrolling Issue 【发布时间】:2013-08-05 12:21:20 【问题描述】:

我将UIWebview 作为子视图添加到UIScrollView

我的目标是使 UIWebview 可编辑,我可以通过加载以下内容来实现

    NSString *html = @"<html><body><div id=\"content\" contenteditable=\"true\"   style=\"font-family: Helvetica\">This is an Editable UIwebview.Tap here to edit. </div</body></html>";
    [self.customWebview loadHTMLString:htmlString baseURL:nil];

进行上述更改后,我可以在UIWebview 中编辑文本。但是,当我点击 webview 进行编辑时,键盘被遮住了。我找不到任何委托方法来设置父滚动视图的内容偏移量。

请帮助我解决这个问题(我想将我的 webview 框架移动到屏幕顶部,以便用户可以看到他正在输入的内容)。另外,如果可能的话,请为我提供一个在UIWebview 中添加内容时自动滚动的解决方案。

【问题讨论】:

为什么要添加 webview 作为滚动视图的子视图?我们已经在 webview 类中有一个属性来启用滚动。 @ShwetaChauhan 我的屏幕中还有其他 UI 元素,例如 UITextfield、UIViews。我需要将它们放在 Scrollview 中以将其推送到键盘通知上,从而允许用户查看文本内容。(类似于 ios 中的邮件应用程序) @Bharath 你能解决这个问题吗?我有同样的问题。 【参考方案1】:
(void)viewDidLoad 

    [super viewDidLoad];

    self.scrollView.delegate = self;
    self.webView.delegate = self;


(void)webViewDidFinishLoad:(UIWebView *)webView 

    [self.webView.scrollView setContentOffset:CGPointMake(0, 0) animated:NO];
    [self.scrollView setContentOffset:CGPointMake(0, 0) animated:NO];

【讨论】:

我要设置Parent ScrollView的内容偏移量(不是UIwebview里面的scrollview)。

以上是关于可编辑的 UIWebview 滚动问题的主要内容,如果未能解决你的问题,请参考以下文章

在特定行之后使编辑文本可滚动

JDBC API 可滚动可编辑的结果集

仿简书MarkDown编辑器可同步滚动

如何使用 UITableView 创建包含 UIWebView 的可滚动视图

键盘启动时手指可滚动的 UIWebView

可编辑的 QTabWidget