博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WKWebView使用
阅读量:6223 次
发布时间:2019-06-21

本文共 2498 字,大约阅读时间需要 8 分钟。

#import "QLCWebViewController.h"#import 
@interface QLCWebViewController ()@property (weak, nonatomic) IBOutlet UIView *contentView;@property (weak, nonatomic) IBOutlet WKWebView *webView;@property (weak, nonatomic) IBOutlet UIBarButtonItem *backItem;@property (weak, nonatomic) IBOutlet UIBarButtonItem *forwardItem;@property (weak, nonatomic) IBOutlet UIProgressView *progressView;@end@implementation QLCWebViewController- (IBAction)goBack:(id)sender { [self.webView goBack];}- (IBAction)goForward:(id)sender { [self.webView goForward];}- (IBAction)reload:(id)sender { [self.webView reload];}#pragma mark - 生命周期方法- (void)viewDidLayoutSubviews{ [super viewDidLayoutSubviews]; _webView.frame = self.contentView.bounds;}- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view from its nib. // 添加webView WKWebView *webView = [[WKWebView alloc] init]; _webView = webView; [self.contentView addSubview:webView]; // 展示网页 NSURLRequest *request = [NSURLRequest requestWithURL:_url]; [webView loadRequest:request]; // KVO监听属性改变 /* Observer:观察者 KeyPath:观察webView哪个属性 options:NSKeyValueObservingOptionNew:观察新值改变 KVO注意点.一定要记得移除 */ [webView addObserver:self forKeyPath:@"canGoBack" options:NSKeyValueObservingOptionNew context:nil]; [webView addObserver:self forKeyPath:@"canGoForward" options:NSKeyValueObservingOptionNew context:nil]; [webView addObserver:self forKeyPath:@"title" options:NSKeyValueObservingOptionNew context:nil]; // 进度条 [webView addObserver:self forKeyPath:@"estimatedProgress" options:NSKeyValueObservingOptionNew context:nil]; }// 只要观察对象属性有新值就会调用- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary
*)change context:(void *)context{ self.backItem.enabled = self.webView.canGoBack; self.forwardItem.enabled = self.webView.canGoForward; self.title = self.webView.title; self.progressView.progress = self.webView.estimatedProgress; self.progressView.hidden = self.webView.estimatedProgress >= 1;}#pragma mark - 对象被销毁- (void)dealloc{ [self.webView removeObserver:self forKeyPath:@"canGoBack"]; [self.webView removeObserver:self forKeyPath:@"title"]; [self.webView removeObserver:self forKeyPath:@"canGoForward"]; [self.webView removeObserver:self forKeyPath:@"estimatedProgress"];}@end

 

转载于:https://www.cnblogs.com/sivek/p/6858244.html

你可能感兴趣的文章
Sh脚本-Catalina.sh
查看>>
蓝牙Socket通信,注意权限
查看>>
C++线索化二叉树
查看>>
zabbix windows客户端配置
查看>>
Maven依赖简介之依赖范围
查看>>
离职辞职终极指南
查看>>
关于IP和PV的知识
查看>>
linux CentOS6.5 yum安装mysql 5.6
查看>>
《跟我学Shiro》
查看>>
MQL:资金管理语句块
查看>>
spring boot 枚举类转换
查看>>
Java动态代理
查看>>
2016年12月22日 阿里云技术分享
查看>>
Laravel 中简约而不简单的 Macroable 宏指令
查看>>
Essential Studio for JavaScript发布2017 v3版本,支持统计图表
查看>>
Rancher 2.0 的第一印象
查看>>
mysql 导出select语句结果到excel文件等 一、导出数据外部
查看>>
简单易用的东西
查看>>
CRC循环冗余校验码
查看>>
最近有人说我欺骗消费者,今天来一波视频分享
查看>>