免费开源的iOS开发学习平台

WKWebView详解:3-网页浏览控制

当我们在手机上打开网页之后,通常情况下需要提供一些网页控制的功能,例如:刷新、前进、后退等。本节我们使用一个简单的实例来实现网页的跳转和刷新。

WKWebView网页控制相关属性与方法

在WKWebView类的定义中,提供了用于网页控制的相关属性与方法,通过借助这些属性和方法即可实现对网页访问的控制功能。

  • 网页后退
- (nullable WKNavigation *)goBack;
  • 网页前进
- (nullable WKNavigation *)goForward;
  • 是否允许回退
@property (nonatomic, readonly) BOOL canGoBack;
  • 是否允许前进
@property (nonatomic, readonly) BOOL canGoForward;

示例代码

下方的示例代码中,实现了对所访问网页的前进/后退/刷新功能。

  • 在控制器中添加一个WKWebView类型的属性webView,在viewDidLoad方法中对其进行初始化操作。
@interface ViewController ()
@property (nonatomic,strong) WKWebView *webView;
@end
- (void)viewDidLoad {
    [super viewDidLoad];
    self.webView = [[WKWebView alloc]initWithFrame:CGRectMake(0, 20, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height-200)];
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"http://www.99ios.com"]];    
    [self.webView loadRequest:request];
    [self.view addSubview:self.webView];
}
  • 在storyboard中添加三个按钮来实现网页后退、刷新和前进操作

  • 在控制器中,为三个按钮添加点击后对应的方法

  • 在代码中添加网页浏览控制的实现方法。
//后退
- (IBAction)goBack:(id)sender {
    [self.webView goBack];
}
//前进
- (IBAction)goForward:(id)sender {
    [self.webView goForward];
}
//刷新
- (IBAction)reload:(id)sender {
    [self.webView reload];
}

运行效果:

示例代码

https://github.com/99ios/10.1.3