WebKit(WKScriptMessageHandler)
作为一款模拟浏览器的项目,必然要支持界面刷新。其实刷新很简单,WekWebView就支持相关功能。
1 WekWebView刷新相关
在WekWebView有一个属性和两个方法管理刷新。
// 是否正在刷新
@property (nonatomic, readonly, getter=isLoading) BOOL loading;
// 刷新界面
- (nullable WKNavigation *)reload;
// 停止刷新
- - (void)stopLoading;
2 实现刷新
2.1 创建刷新按钮
我们将刷新功能用按钮实现,将其添加到UINavigationController导航上。
添加方法initUIBarButtonItem()。
#pragma mark 初始化UIBar导航按钮
- (void)initUIBarButtonItem {
// 右边
UIBarButtonItem *reloadItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemRefresh target:self action:@selector(reload:)];
self.navigationItem.rightBarButtonItem = reloadItem;
}
2.2 加载刷新按钮
在viewDidLoad()中使用
- (void)viewDidLoad {
[super viewDidLoad];
[self initUIBarButtonItem];
// 刷新界面
NSURL *url = [NSURL URLWithString:@"https://www.baidu.com"];
NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url];
[self.webView loadRequest:urlRequest]; // 加载页面
}
2.3 实现刷新方法
接下来实现刷新方法reload:。
#pragma mark 刷新
- (void)reload:(id)sender {
if (self.webView.loading) { // 是否正在刷新页面
[self.webView stopLoading]; // 停止刷新
}
// 刷新页面
[self.webView reload];
}
其他
源代码
参考资料
文档修改记录
时间 | 描述 |
---|---|
2015-12-02 | 博文完成 |
2015-12-12 | 更改链接 |