CHWebView 是一个基于 OC 代码实现的 WebView 轻量级组件,适配 UIWebView 和 WKWebView 的 API 封装成统一的类去使用,并且在加载网页的时候提供进度条,同时简化 JS 与 OC 调用的方式。
自如的切换 WKWebView 以及 UIWebView 的使用
提供了网页加载进度条
利用一行代码实现 JS 与 OC 和 Android 的交互
提供基类控制器方便快捷的加载网页
目前支持 POD 安装,或者可以实现下载 project 将 CHWebView 文件夹拖入你的工程中
pod 'CHWebView'
iOS 8.0+,
Xcode 7.3 or above
JavaScriptCore
WebKit
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{
}
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;
http://chausson.github.io/2016/08/09/UIWebView%E4%B8%8EWKWebView/
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.