美文网首页iOS学习笔记
JS与OC交互--简单使用(打电话)

JS与OC交互--简单使用(打电话)

作者: 学长的日常 | 来源:发表于2016-08-14 09:14 被阅读150次

    .m文件

    #import "ViewController.h"
    
    @interface ViewController ()<UIWebViewDelegate>
    @property (weak, nonatomic) IBOutlet UIWebView *webView;
    
    @end
    
    @implementation ViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
       //通过本地html文件加载网页
        [self.webView loadRequest:[NSURLRequest requestWithURL:[[NSBundle mainBundle] URLForResource:@"test" withExtension:@"html"]]];
        
    }
    
    
    - (void)call{
        
        
        //拨打电话
        [[UIApplication sharedApplication]openURL:[NSURL URLWithString:@"tel://10086"]];
    }
    
    //是否允许加载从webview获得的请求
    /*
     *该方法可以实现js调用OC
     *js和OC交互的第三框架可以使用:WebViewJavaScriptBridge
     */
    - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{
        
        //获得html点击的链接
        NSString *url = request.URL.absoluteString;
        //设置协议头
        NSString *scheme = @"zc://";
        //判断获得的链接前面是否包含设置头
        if([url hasPrefix:scheme]){
            
            //切割字符串
            NSString *methodName = [url substringFromIndex:scheme.length];
            //调用打电话的方法
             [self performSelector:NSSelectorFromString(methodName) withObject:nil];
            
            return NO;
            
        }else{
            
            return YES;
        }
        
        
    }
    
    
    

    html 文件

    html.png

    storyboard

    storyboard.png

    运行结果

    学长的日常.png

    相关文章

      网友评论

        本文标题:JS与OC交互--简单使用(打电话)

        本文链接:https://www.haomeiwen.com/subject/xosysttx.html