UIWebView 无缝切换到 WKWebView
来源:互联网 发布:vegas for mac破解版 编辑:程序博客网 时间:2024/04/29 06:28
WKWebView 是IOS8新增的 Web浏览视图
优点: 加载速度 比UIWebView提升差不多一倍的, 内存使用上面,反而还少了一半。
缺点: WKWebView 不支持缓存 和 NSURLProtocol 拦截了
我建议如果对缓存不高的页面可以使用,用户体验会提高很多。
由于项目中以前都是用 UIWebView 而且还要兼容 IOS8 之前的机子。 所以 我创建了一个新类 IMYWebView 你只要全局替换 UIWebView 就能无缝升级到 WKWebView 啦
IMYWebView.h 中的API 会在内部自动支持 UIWebView 和 WKWebView,
title,estimatedProgress 是我认为 WKWebView 中比较有用的新增API
- @interface IMYVKWebView : UIView
- ///使用UIWebView
- - (instancetype)initWithFrame:(CGRect)frame usingUIWebView:(BOOL)usingUIWebView;
- @property(weak,nonatomic)id<IMYVKWebViewDelegate> delegate;
- ///内部使用的webView
- @property (nonatomic, readonly) id realWebView;
- ///是否正在使用 UIWebView
- @property (nonatomic, readonly) BOOL usingUIWebView;
- ///预估网页加载进度
- @property (nonatomic, readonly) double estimatedProgress;
- @property (nonatomic, readonly) NSURLRequest *originRequest;
- ///back 层数
- - (NSInteger)countOfHistory;
- - (void)gobackWithStep:(NSInteger)step;
- ///---- UI 或者 WK 的API
- @property (nonatomic, readonly) UIScrollView *scrollView;
- - (id)loadRequest:(NSURLRequest *)request;
- - (id)loadHTMLString:(NSString *)string baseURL:(NSURL *)baseURL;
- @property (nonatomic, readonly, copy) NSString *title;
- @property (nonatomic, readonly) NSURLRequest *currentRequest;
- @property (nonatomic, readonly) NSURL *URL;
- @property (nonatomic, readonly, getter=isLoading) BOOL loading;
- @property (nonatomic, readonly) BOOL canGoBack;
- @property (nonatomic, readonly) BOOL canGoForward;
- - (id)goBack;
- - (id)goForward;
- - (id)reload;
- - (id)reloadFromOrigin;
- - (void)stopLoading;
- - (void)evaluateJavaScript:(NSString *)javaScriptString completionHandler:(void (^)(id, NSError *))completionHandler;
- ///不建议使用这个办法 因为会在内部等待webView 的执行结果
- - (NSString *)stringByEvaluatingJavaScriptFromString:(NSString *)javaScriptString __deprecated_msg("Method deprecated. Use [evaluateJavaScript:completionHandler:]");
- ///是否根据视图大小来缩放页面 默认为YES
- @property (nonatomic) BOOL scalesPageToFit;
- @end
代码地址
0 0
- UIWebView 无缝切换到 WKWebView
- UIWebView 无缝切换到 WKWebView
- UIWebView 无缝切换到 WKWebView
- UIWebView 无缝切换到 WKWebView
- IMYWebView 无缝切换 UIWebView 为 WKWebView
- 从 UIWebView 到 WKWebView
- 从UIWebView到WKWebView
- 从 UIWebView 到 WKWebView
- 从UIWebView到WKWebView
- 从 UIWebView 到 WKWebView
- UIWebView完美切换至WKWebView
- 【iOS开发】从 UIWebView 到 WKWebView
- 【iOS开发】从 UIWebView 到 WKWebView--简书
- iOS开发从 UIWebView 到 WKWebView
- kidd风的IOS日志之从UIWebView到WKWebView
- ionic3 从UIWebView升级到WKWebView(翻译)
- WKWebView VS UIWebView
- 使用WKWebView替换UIWebView
- java提高篇(十三)-----字符串
- axis-1_4 wsdl文件生成webservices客户端代码
- iOS开发 使用Xcode自带的Leaks:动态的检测内存泄露
- 夏泽网好网站
- 周记(身份证号码验证规则)
- UIWebView 无缝切换到 WKWebView
- Java开发人员经常会用到的Linux命令
- web前端学习摘要
- [IOS] NSOutputStream向输出流写数据
- 自定义view基础知识
- iOS与Unity3d的交互实现
- java提高篇(十四)-----关键字final
- mac下快速安装php的各个版本
- Maven依赖中的scope详解