JPBaseWebView

1. 简介

JPBaseWebView是对DSBridge-IOS的封装,简化了WebView中JS和原生交互中的同步和异步调用流程。 该框架内与前端约定了一些常用的JS-Native交互方法,可根据具体业务逻辑进行实现。

2. 如何使用

2.1. 安装

  • Podfile添加如下

    pod 'JPBaseWebView', :source => 'http://172.16.28.234:8081/dev-plat/ios/JPSpecs.git';
    
  • 执行安装命令

    cd [path/to/project]
    pod install
    
  • 导入<JPBaseWebview/JPBaseWebViewHeader.h>

2.2. 使用

2.2.1. JS-Native交互

  • 框架默认声明了一些API, 可根据不同的业务场景进行具体实现, 实现方式如下:

    • 声明webviewJSDelegate

      webView.JSDelegate = self;
      
    • 实现JPBaseWebViewJSDelegate中对应的方法

  • 自定义API实现如下

    • 创建继承自JPDefaultJSApi的子类

    • 在子类中实现API

      //同步API 
      - (NSString *) testSyn:(NSString *) msg
      {
          return [msg stringByAppendingString:@"[ syn call]"];
      }
      //异步API
      - (void) testAsyn:(NSString *) msg :(JSCallback)completionHandler
      {
          completionHandler([msg stringByAppendingString:@" [ asyn call]"],YES);
      }
      
  • 原生调用JS API

    [webView callHandler:@"addValue" arguments:@[@3,@4] completionHandler:^(NSNumber* value){
              NSLog(@"%@",value);
       }];
    

2.2.2. JPBaseWebViewController

  • 框架实现了一个自带WebView的ViewController, 并且默认实现了:

    • webview加载进度条;

    • 自动获取<title>标签作为navigationItem的标题;

    • 导航返回按钮的适配

  • 对于JPBaseWebViewController的样式建议通过子类对样式进行修改

      @interface CustomWebViewController ()
    
      @end
    
      @implementation CustomWebViewController
    
      - (void)viewDidLoad {
          [super viewDidLoad];
             self.navigationBarBarTintColor = [UIColor redColor];
          self.navigationBarTintColor = [UIColor greenColor];
          self.titleColor = [UIColor yellowColor];
          self.progressViewColor = [UIColor purpleColor];
    
      }
    

更多用法以及实现细节可参见DSBridge for IOS

源码地址:http://sources.jpsycn.com/dev-plat/ios/app-h5.git

版权归河南金鹏信息技术股份有限公司所有,仅用于技术交流,禁止用于商业目的 all right reserved,powered by Gitbook该文件修订时间: 2020-03-21 17:17:39

results matching ""

    No results matching ""