有没有办法让两个 webview 同步。
我想使用 Airplay 在第二个屏幕上显示相同的 WebView,但比例为 16:9。
我设法为第二个屏幕(16:9)创建了一个单独的窗口并加载了我的本地 html 文件,但我的 iPad 屏幕上的操作与第二个屏幕不同步。
我只有两个独立的窗口。 我真的很想使用第二个屏幕来显示更大的 HTML 文件。
最佳答案
“同步”在 OP 中未指定,但考虑到 Web View 状态的最基本表示是它的 request
,您可以尝试以下操作:在用户所在的 webView 的 Controller 中控制(称之为“webViewA”),声明符合 UIWebViewDelegate
:
self.webViewA.delegate = self;
然后:
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
UIWebView *webViewB = // presuming you have a way to get this pointer
[webViewB loadRequest:request];
}
您可以通过将同一 Controller 声明为符合 UIScrollViewDelegate
来实现滚动同步(可能是状态的下一个最重要的部分),然后:
self.webViewA.scrollView.delegate = self;
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
UIWebView *webViewB = // ...
[webViewB setContentOffset:scrollView.contentOffset animated:YES];
}
关于ios - WebView iOS - 保持两个 WebView 100% 同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38379532/