您可以使用自定义协议来完成此操作.在你的html文件中,你可以链接到类似的东西myProtocol://callSomeAction.
然后在你的UIWebViewDelegate(可能你的UIViewController)你必须实现名为的方法:
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
Run Code Online (Sandbox Code Playgroud)
(文件在这里)
我们的想法是,在该代码上,您可以根据request参数中的数据检测协议.如果是myProtocol,您可以致电IBAction并返回NO.如果它是其他东西,那么您可以回退以使Web视图加载页面,然后返回YES.
代码看起来像这样:
- (BOOL)webView:(UIWebView *)webView
shouldStartLoadWithRequest:(NSURLRequest *)request
navigationType:(UIWebViewNavigationType)navigationType {
NSString* scheme = [[request URL] scheme];
if ([@"myProtocol" isEqual:scheme]) {
// Call your method
return NO;
} else {
return YES;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3942 次 |
| 最近记录: |