CHWebView 是一个 lightweight 对象-c 实现的 webview,是 WKWebView 和 UIWebView 的适配器。支持加载 web 进度视图,并且 html 可以方便地调用 object-c 方法。
您可以从项目中拖拽 CHWebView 文件来下载 zip 或安装,也可以使用 pod 进行安装。
pod 'CHWebView'
CHWebView *webView = [[CHWebView alloc]initWithFrame:rect];
[webView loadRequest:self.request];
webView.delegate = self;
[self.view addSubview:webView];
- ( instancetype)initWithUIWebView;
- ( instancetype)initWithUIWebView:(CGRect)frame;
- (instancetype)initWithURL:(NSString *)url;
- (instancetype)initWithFile:(NSString *)url;
- (NSArray<NSString *> *)registerJavascriptName{
return @[@"fetchMessage",@"show"];
}
- (NSObject *)registerJavaScriptHandler{
return self;
}
- (void)fetchMessage:(NSDictionary *)dic{
}
- (void)show:(NSDictionary *)dic{
}
Html 可以找到 window.NativeBridge 对象。window.NativeBridge({f},{j}) 参数 f 是本地方法名称,可能被命名为 show 或其他名称,您可以自定义它。@parameter j 是用于方法的参数。
function nativeFounction() {
var obj = { 'message' : 'Hello, JS!', 'numbers' : [ 1, 2, 3 ] };
window.NativeBridge('fetchMessage',obj)
}
function showUIFuction(){
window.NativeBridge('show')
}
- (void)invokeJavaScript:(NSString *)function;
- (void)invokeJavaScript:(NSString *)function completionHandler:(void (^)( id, NSError * error))completionHandler;