美文网首页
浅谈oc与js交互(一 初识UIWebView)

浅谈oc与js交互(一 初识UIWebView)

作者: 神经嘻嘻兮兮 | 来源:发表于2017-06-12 17:27 被阅读39次

    1、最近公司做项目,项目中需要oc调用js。于是对关于这方面的只是做了一些总结。

    一、UIWebView是一个加载网页视图的控件,进入API文件,里面的属性和方法也不是很多,算是一个比较简单UI控件。

    UIWebView为什么可以滑动? 因为UIWebView的子控件中包含的UIScrollView

    webView.scrollView.scrollEnabled = NO;//禁止webView的滑动效果
    

    二、UIWebView加载HTML标签的3中方式
    - (void)loadRequest:(NSURLRequest *)request;
    - (void)loadHTMLString:(NSString *)string baseURL:(nullable NSURL
    *)baseURL;
    - (void)loadData:(NSData *)data MIMEType:(NSString *)MIMEType
    textEncodingName:(NSString *)textEncodingName baseURL:(NSURL
    *)baseURL;

    1)、加载一个连接

    UIWebView *webView = [[UIWebView alloc]initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, 400)];
    [self.view addSubview:webView];
    NSURL *url = [NSURL URLWithString:@"http://www.baidu.com"];
    NSURLRequest *request = [[NSURLRequest alloc]initWithURL:url];
    [webView loadRequest:request];
    

    2)、加载HTML字符串

      UIWebView *webView = [[UIWebView alloc]initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, 400)];
    [self.view addSubview:webView];
    NSString *htmlStr = @"<body style=\"border: 1px solid\"><p>这是一段文字</p></body>";
    [webView loadHTMLString:htmlStr baseURL:nil];
    

    3)、加载NSData类型数据

      UIWebView *webView = [[UIWebView alloc]initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, 400)];
    [self.view addSubview:webView];
    NSString *htmlStr = @"<body style=\"border: 1px solid\"><p>这是一段文字</p></body>";
    NSData *data = [htmlStr dataUsingEncoding:NSUTF8StringEncoding];
    [webView loadData:data MIMEType:@"text/html" textEncodingName:@"UTF-8" baseURL:[[NSBundle mainBundle] bundleURL]];
    

    三、UIWebView中 oc调用js 关键方法
    - (nullable NSString *)stringByEvaluatingJavaScriptFromString:(NSString *)script;

    四、UIWebView的代理方法

     - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType;//每当webView即将发送一个请求之前,都会调用这个方法
     - (void)webViewDidStartLoad:(UIWebView *)webView;//webView已经加载
     - (void)webViewDidFinishLoad:(UIWebView *)webView;//webView完成加载
     - (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error;//webView加载错误
    

    相关文章

      网友评论

          本文标题:浅谈oc与js交互(一 初识UIWebView)

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