iOS-WKWebView使用
ios 使用
2023-09-14 09:08:54 时间
使用代码:可直接粘贴到自己项目中使用
.h
#import "BaseViewController.h"
@interface LinkNewsController : BaseViewController
/** 新闻链接 */
@property (nonatomic, strong) NSString *link;
@end
.m
#import <WebKit/WebKit.h>
#import "MBProgressHUD.h"
@interface LinkNewsController ()<WKNavigationDelegate>{
//蒙版
MBProgressHUD *_MB;
}
//网页视图
@property (nonatomic, strong) WKWebView *WKWebView;
@end
@implementation LinkNewsController
#pragma mark - 懒载入
-(WKWebView *)WKWebView{
if (_WKWebView == nil) {
_WKWebView = [[WKWebView alloc] initWithFrame:CGRectMake(0, 64, kScreenWidth, kScreenHeight-64)];
NSLog(@"网页链接-->link:%@",self.link);
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:self.link]];
[_WKWebView setNavigationDelegate:self];
[_WKWebView loadRequest:request];
}
return _WKWebView;
}
#pragma mark - 视图载入
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
[self.view addSubview:self.WKWebView];
}
#pragma mark - WKNavigationDelegate
//開始载入
-(void)webView:(WKWebView *)webView didStartProvisionalNavigation:(WKNavigation *)navigation{
NSLog(@"didStartProvisionalNavigation");
_MB = [MBProgressHUD showHUDAddedTo:self.navigationController.view animated:YES];
[_MB setMode:MBProgressHUDModeIndeterminate];
[_MB setLabelText:@"loading..."];
}
//载入成功
-(void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation{
NSLog(@"didFinishNavigation__");
[_MB hide:YES];
}
//载入失败
-(void)webView:(WKWebView *)webView didFailNavigation:(WKNavigation *)navigation withError:(NSError *)error{
NSLog(@"");
[_MB hide:YES];
}
UIWebView 和 WKWebView 的差别
WKWebView 更快(占用内存可能仅仅有 UIWebView 的1/3~1/4),没有缓存。更为仔细地拆分了 UIWebViewDelegate 中的方法。
WKWebView 是轻量级的 UIWebView。
相关文章
- Fabric.js 使用纯色遮挡画布(前景色)
- IOS系统平刷工具Semi-Restore使用教程
- Tenorshare UltData for Mac(专业iOS数据恢复工具)v9.7.15中文激活版
- iOS 使用flexBox
- iOS 获取本地图片尺寸_ios图片处理软件
- 如何使用Xcode打包导出IPA文件并进行iOS应用内测,无需支付苹果开发者账号费用?
- 新技术:使用免费苹果账号申请 iOS 证书进行真机调试
- Windows电脑申请iOS证书教程及工具分享
- 苹果iOS app上架流程
- 【iOS 开发】iOS 开发 简介 (IOS项目文件 | MVC 模式 | 事件响应机制 | Storyboard 控制界面 | 代码控制界面 | Retina 屏幕图片适配)
- AnyTrans for iOS for mac(ios数据传输管理工具)
- 使用 Go 进行 iOS 和 Android 编程详解手机开发
- Android为何比iOS卡论1G内存的使用详解手机开发
- ios怎么判断日期是周末详解手机开发
- iOS—-闪退,无报错原因,经典解决方案详解手机开发
- IOS—静态方法(类方法)和实例方法详解手机开发
- 操作系统比较:iOS 与 Linux 操作系统(ios与linux)
- iOS 14.5现已发布 新增Face ID便捷解锁和应用跟踪透明化功能
- iOS访问MySQL数据库的实战技术(ios访问mysql)
- IOS中使用Redis实现高效缓存(iosredis)
- IOS上可以安装Oracle吗(ios能装oracle吗)
- iOS让Oracle无处不在(ios支持oracle么)
- 谁说 iOS 就不适用Oracle(ios oracle软件)
- asp.net通过UserAgent判断智能设备(Android,IOS)