我正在寻找一种方法来监听 UIWebView 中的操作。例如:当我点击 UIWebView 中的链接或按钮时,我想调用一个新的原生组件,比如评论页面。或者。采取一些其他行动,例如更改导航栏项目。
最佳答案
是的,你可以做到这一点。实现
– webView:shouldStartLoadWithRequest:navigationType:
这delegate .只要您的 webview 将要发出请求,就会调用此方法。所以现在当有人单击您网页上的按钮或超链接时,您将调用此方法。接听此电话后,您可以选择对其进行任何操作。比如通过您自己的服务器重定向链接,或向您的服务器记录有关用户事件的请求,或者在您的情况下调出评论页面或更改导航栏等。
示例 - 在这里,您试图拦截在您的网页上单击的任何链接,并首先通过 myMethodAction
传递它。
- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType
{
if(navigationType == UIWebViewNavigationTypeLinkClicked)
{
if(overrideLinksSwitch.on == TRUE)
{
[self myMethodAction];
[myWebView stopLoading];
return YES;
}
else
{
return YES;
}
}
return YES;
}
希望这有助于...
关于iphone - 响应UIWebView点击 Action 调用原生代码页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8425604/