• 在HTML中调用iOS


    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
    </head>
    
    <body>
      
      <button style="120px; height = 60px;" onclick="getImage();">插入图片</button>
      
      <script>
          function getImage(){
              // 生成接口(在OC在截取接口)
              window.location.href = 'lf://getImage';
          }
      </script>
      
    </body>
    </html>
    #import "ViewController.h"
    
    @interface ViewController ()<UIWebViewDelegate>
    
    @property (nonatomic , strong) UIWebView *webView;
    @property (nonatomic , copy) NSString *isIncreaseImg;
    
    @end
    
    @implementation ViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
        // 初始化webView
        self.webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, [[UIScreen mainScreen] bounds].size.width, [[UIScreen mainScreen] bounds].size.height)];
        self.webView.delegate = self;
        [self.view addSubview:self.webView];
        
        // 加载本地网页
        NSURL *url = [[NSBundle mainBundle] URLForResource:@"index" withExtension:@"html"];
        NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url];
        [self.webView loadRequest:request];
    }
    
    
    - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{
        // 截取接口
        NSString *str = request.URL.absoluteString;
        NSRange range = [str rangeOfString:@"lf://"];
        // 如果发现接口,则执行相关操作
        if (range.location != NSNotFound) {
            [self htmlCallOC];
        }
        return YES;
    }
    
    #pragma mark -- 操作网页 --
    - (void)webViewDidFinishLoad:(UIWebView *)webView{
        // 插入图片
        if([self.isIncreaseImg isEqualToString:@"incareaseImage"]){
            NSString *str4 = @"var img = document.createElement('img');"
            "img.src = 'ply.png';"
            "document.body.appendChild(img);";
            [webView stringByEvaluatingJavaScriptFromString:str4];
            self.isIncreaseImg = @"imageIsInceased";
        }else{
            NSLog(@"%@",self.isIncreaseImg);
        }
    }
    
    #pragma mark -- 执行相关操作 --
    - (void)htmlCallOC{
        NSLog(@"HTML成功调用OC");
        if (self.isIncreaseImg ==nil) {
            self.isIncreaseImg = @"incareaseImage";
        }
        [self webViewDidFinishLoad:self.webView];
    }
    
    
    
    @end
  • 相关阅读:
    那些创业的艰辛整理
    一个成功的研发团队应具备的9大属性
    如何将 Linux 系统转移至 LVM 卷
    如何在 Linux 上永久挂载一个 Windows 共享
    怎样在 Chromebook 上安装 Linux 系统?
    1087 有多少不同的值 (20 分)C语言
    1052 卖个萌 (20 分)C语言
    1064 朋友数 (20 分)C语言
    1045 快速排序 (25 分)C语言
    1048 数字加密 (20 分)C语言
  • 原文地址:https://www.cnblogs.com/lantu1989/p/5960345.html
Copyright © 2020-2023  润新知