我在webview中打开了一个文档。该文档也使用avspeech合成器框架阅读。我想突出显示当前正在发言的字符串。有没有办法做到这一点?
我只能在avspeechsynthesizer的整个输入字符串中获取当前正在说话的字符串的位置。有没有办法在webview中使用此位置突出显示该字符串?
我想在字符串上绘制矩形,而不是通过更改突出显示文本的颜色来重新加载webview。因此,最好在webview中找到该字符串的框架。有人可以建议我一个解决方案吗?
答案 0 :(得分:0)
您需要从iOS
应用到html
/ javascript
页面建立桥接。
基本是: 从iOS应用程序到html / javascript:
[webview stringByEvaluatingJavaScriptFromString:@"var x = 5; foo(x); goo(x);"]
从html / javascript你可以通过重定向进行通信,这将在UIWebView委托方法中捕获:
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
返回NO。
一个例子,在javascript内容中进行虚假重定向:
window.location = "my-bridge#var1#var2;
以上行代码将触发UIWebView。
希望有所帮助。