2010-07-27 2 views
8

У меня есть веб-просмотр.Как добавить subview в веб-просмотр, чтобы subview прокручивал вместе с webview?

Теперь я хочу добавить подпрограмму к нему. Я добавил его с помощью метода addubview.

Вид добавлен, но не прокручивается с веб-просмотром.

Я хочу, чтобы мое подвью было прокручено с помощью веб-представления.

Как я могу это сделать?

С уважением, Akshay.

+0

Это странно, чтобы добавить подсмотр к веб-просмотру. Что ты пытаешься сделать ? –

+0

Вот решение http://stackoverflow.com/q/43533068/6521116 –

ответ

0

Для этого вам нужно будет возиться с внутренними элементами UIWebView и узнать его иерархию представлений, чтобы вы могли добавить subview внутри scoller.

Возможно, вам будет проще настроить ваш HTML в окне, поэтому вы можете включить в него что-то похожее на ваш пользовательский вид (текст или изображение).

Вы можете позже взаимодействовать с вашим «поддельным представлением» с помощью Javascript.

+0

Возможно ли, если у меня есть объект UIWebView? Мне нужно работать с существующим объектом webView и не создавать новые подклассы .. –

17

Вам просто нужно добавить подвид к UIScrollView в UIWebView, как это иметь свой подвид свиток с WebView содержанием:

[webView.scrollView addSubview:youSubView]; 
+1

Для записи в iOS 5.0 было добавлено свойство 'scrollView'. –

+0

действительно доступен только после iOS 5.0, но это потрясающий трюк; я просто использовал его, чтобы позволить моему счетчику загружаться в webView, который будет размещаться с ограничениями UIWebView. идеально! –

+0

это может только помочь мне добавить до 126 subview's –

0

Try это, он будет работать

[[[yourwebview subviews] objectAtIndex: 0] addSubview: yoursubview];

0

Предположим, что вы хотите свой uiview в регионе с идентификатором фильма в html. Проверьте мои 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] 
    } 
}