2016-07-14 5 views
0

Gibt es eine Möglichkeit, zwei Webview synchronisiert zu haben.WebView iOS - Halten Sie zwei WebView 100% synchronisiert

Ich möchte auf einem zweiten Bildschirm mit Airplay das gleiche WebView aber in 16: 9 anzeigen.

Es ist mir gelungen, ein separates Fenster für den zweiten Bildschirm (16: 9) zu erstellen und meine lokale HTML-Datei zu laden, aber die Aktionen auf meinem iPad-Bildschirm werden nicht mit diesem zweiten Bildschirm synchronisiert.

Ich habe nur zwei unabhängige Fenster. Ich möchte wirklich den zweiten Bildschirm verwenden, um eine größere HTML-Datei anzuzeigen.

Antwort

1

"Synchronisiert" ist im OP unterspezifiziert, aber die wichtigste Darstellung des Status einer Web-Ansicht ist request, Sie könnten Folgendes versuchen: In der Steuerung des WebView, das der Benutzer steuert (nennen Sie es "webViewA „), erklären die Konformität mit UIWebViewDelegate:

self.webViewA.delegate = self; 

dann:

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType { 
    UIWebView *webViewB = // presuming you have a way to get this pointer 
    [webViewB loadRequest:request]; 
} 

Sie Synchronisation Scrollen erreichen kann (wahrscheinlich der nächste wichtigste Teil des Staates) durch die gleiche Steuerung wie conf erklärt orming zu UIScrollViewDelegate, und dann:

self.webViewA.scrollView.delegate = self; 

- (void)scrollViewDidScroll:(UIScrollView *)scrollView { 
    UIWebView *webViewB = // ... 
    [webViewB setContentOffset:scrollView.contentOffset animated:YES]; 
} 
+0

Danke für Ihre Antwort. Ich werde das in wenigen Stunden versuchen und Sie auf dem Laufenden halten. Die shouldStartLoadWithRequest wird jedes Mal aufgerufen, wenn ein Klick angehängt wird oder nicht? Zum Beispiel, wenn ich in der WebView A ich klicke und ein modales Bootstrap-Popup erscheint, muss ich dasselbe Popup auf dem WebView haben. B – Aaleks

+0

Ich habe den Test gemacht und die shootStartLoadWithRequest wird nur bei einem neuen Seitenladen aufgerufen (klicke auf href) und nicht auf grundlegende Interaktion, Javascript-Aktionen, modales Popup. Ich brauche wirklich vollständige Replikation – Aaleks

+0

Ihr Kommentar klärt die Frage, um "synchronisiert" als vollständig, 100% synchronisiert zu definieren. Leider ist dies zwischen zwei Webansichten nicht möglich. – danh