XESWebView是一个自定义的WebView,可以无缝地在UIWebView和WKWebview之间切换!
Objective-C
和JavaScript
相互调用//初始化
XESWebView *newWebView = [[XESWebView alloc]initWithFrame:CGRectZero usingUIWebView:YES];
XESWebView *newWebView = [[XESWebView alloc]initWithFrame:CGRectZero usingUIWebView:NO];
XESWebView *newWebView = [[XESWebView alloc]init];
newWebView.delegate = self;
[newWebView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"https://m.taobao.com"]]];
[newWebView loadHTMLString:appHtml baseURL:baseURL];
- (void)evaluateJavaScript:(NSString*)javaScriptString completionHandler:(void (^)(id, NSError*))completionHandler;
- (NSString*)stringByEvaluatingJavaScriptFromString:(NSString*)javaScriptString
- (void)addScriptMessageHandler:(id<WKScriptMessageHandler>)scriptMessageHandler name:(NSString*)name;
显示或隐藏进度条,支持进度条加载进度条颜色设置。
//控制是否显示进度条 default YES
@property (nonatomic) BOOL showProgressBar;
如果对XESWebView提供的进度条不满意,可以自己监听
estimatedProgress
属性来获取XESWebView的加载进度。
[self.webView addObserver:self forKeyPath:@"estimatedProgress" options:NSKeyValueObservingOptionNew context:nil];
/**
webviewJavaScriptBridge registerHandler
@param handlerName 方法
@param handler 回调
*/
- (void)registerHandler:(NSString*)handlerName handler:(XESWebViewHandler)handler;
/**
webviewJavaScriptBridge callHandler
@param handlerName 方法
@param data 参数
@param responseCallback 回调
*/
- (void)callHandler:(NSString*)handlerName data:(id)data responseCallback:(XESWebViewResponseCallback)responseCallback;
1.下载 XESWebView
文件夹内的所有内容。
2.将 XESWebView
内的源文件添加(拖放)到你的工程。
3.需要添加 WebViewJavascriptBridge
库。
3.导入 XESWebView.h
。
该项目最低支持 iOS 7.0 和 Xcode 7.0。