XESWebViewPublic 0.0.1

XESWebViewPublic 0.0.1

TestsTested
LangLanguage Obj-CObjective C
License MIT
ReleasedLast Release Oct 2017

Maintained by gfy10010.



  • By
  • gfy

XESWebView是什么

XESWebView是一个自定义的WebView,可以无缝的从UIWebView和WKWebview之间相互切换!

XESWebView有哪些功能

  • 支持手动、自动布局
  • 支持Objective-CJavaScript相互调用
  • 支持手动切换或者根据系统版本自动使用使用WKWebView或者UIWebView
  • 支持是否显示进度条
  • 跟系统API一致性(canGoBack goBack reload等)
  • 使用了WebViewJavascriptBridge

使用方法

初始化

//初始化
    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];
    

JS<->OC调用

- (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加载进度

对XESWebView带的进度条不满意可以自己监听estimatedProgress属性 来获取XESWebView的加载进度。

    [self.webView addObserver:self forKeyPath:@"estimatedProgress" options:NSKeyValueObservingOptionNew context:nil];
    

针对使用WebViewJavascriptBridge

/**
 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。