2010-07-27 8 views
8

Ho una vista web.Come aggiungere una sottoview ad una webview in modo che la sottoview si sposti con la webview?

Ora voglio aggiungere una sottoview ad esso. L'ho aggiunto usando il metodo addsubview.

La vista è stata aggiunta, ma non è stata visualizzata con visualizzazione Web.

Voglio che la mia sottoview sia scorsa con la webview.

Come posso farlo?

Saluti, Akshay.

+0

È strano aggiungere una visualizzazione secondaria a una visualizzazione Web. Cosa stai cercando di fare ? –

+0

Ecco la soluzione http://stackoverflow.com/q/43533068/6521116 –

risposta

0

Per fare ciò, è necessario armeggiare con le parti interne di UIWebView e scoprire la sua gerarchia di viste, quindi è possibile aggiungere la vista secondaria all'interno del dispositivo di scorrimento.

Probabilmente è più semplice modificare l'HTML all'interno della vista, in modo da poter includere qualcosa di simile alla tua vista personalizzata (testo o immagine) al suo interno.

In seguito è possibile interagire con la "vista falsa" tramite Javascript.

+0

È possibile che disponga di un oggetto UIWebView? Devo lavorare con l'oggetto webView esistente e non posso crearne uno nuovo per sottoclasse .. –

17

è sufficiente aggiungere la visualizzazione secondaria alla UIScrollView del UIWebView come questo di avere il vostro rotolo visualizzazione secondaria con il contenuto WebView:

[webView.scrollView addSubview:youSubView]; 
+1

Per la registrazione, la proprietà 'scrollView' è stata aggiunta in iOS 5.0. –

+0

infatti disponibile solo post-iOS 5.0, ma questo è un trucco favoloso; l'ho appena usato per permettere al mio spinner di caricarlo in una webView per essere ospitato all'interno dei confini di UIWebView. perfezionare! –

+0

può solo aiutarmi ad aggiungere fino a 126 subview –

0

Prova questa, funzionerà

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

0

Supponiamo di volere il tuo uiview su una regione con ID film nell'html. Controlla il mio post qui.

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] 
    } 
} 
Problemi correlati