2010-07-27 76 views
8

我有webview。如何将子视图添加到Web视图中,以便子视图与webview一起滚动?

现在我想添加一个子视图给它。我使用addsubview方法添加它。

视图被添加,但没有用webview滚动。

我想我的子视图与web视图滚动。

我该怎么做?

Regards, Akshay。

+0

在webview中添加子视图很奇怪。你想做什么 ? – 2010-07-27 09:59:01

+0

这里是解决方案http://stackoverflow.com/q/43533068/6521116 – 2017-05-08 05:33:05

回答

0

为了做到这一点,你需要修改UIWebView的内部并找出它的视图层次结构,这样你就可以在scoller中添加子视图。

这可能是更容易调整您的HTML 里面的视图,所以你可以在其中包含类似于你的自定义视图(文本或图像)的东西。

您可以稍后通过Javascript与您的“假视图”进行交互。

+0

是否有可能,如果我有一个UIWebView对象? 我必须使用现有的webView对象,并不能通过继承来创建一个新的。 – 2010-08-03 09:04:11

17

您只需将您的子视图添加到UIWebView这样的UIScrollView有一个与视图内容的子视图滚动:

[webView.scrollView addSubview:youSubView]; 
+1

为了记录,'scrollView'属性在iOS 5.0中添加了。 – 2012-05-16 14:04:43

+0

确实只在iOS 5.0后才可用,但这是一个神话般的窍门;我只是用它来让我的微调器加载到一个webView中,以适应UIWebView的限制。完善! – 2012-08-15 10:40:15

+0

它只能帮我添加多达126个子视图 – 2016-12-05 17:48:40

0

试试这个,它会工作

[[[yourwebview子视图] objectAtIndex:0] addSubview:yoursubview];

0

假设你想要你的uiview在HTML中具有电影ID的区域。在这里查看我的post

func scrollViewDidScroll(_ scrollView: UIScrollView) { 
    self.wk.evaluateJavaScript("var rect = document.getElementById('movie').getBoundingClientRect();[rect.left, rect.top];") { 
     (result, error) -> Void in 
     print(result) 
     self.player.view.frame.origin.x = (result as! Array)[0] 
     self.player.view.frame.origin.y = (result as! Array)[1] 
    } 
} 
相关问题