XESWebViewPublic 0.0.1

XESWebViewPublic 0.0.1

测试已测试
语言语言 Objective-CObjective C
许可证 MIT
发布上次发布2017年10月

gfy10010 维护。



  • 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。