Swift使用WKWebView在iOS应用中调用Web的方法详解

2020-01-08 23:07:05丽君

    let url = NSURL(string: "http://www.easck.com/users/040395b7230c/latest_articles")
    //创建请求
    let request = NSURLRequest(URL: url!)
    //加载请求
    webview.loadRequest(request)
    //添加wkwebview
    self.view.addSubview(webview)
}
运行效果如图:

 

Swift,WKWebView,iOS应用

 

4.获取网页标题
为了显示标题,首先给ViewController嵌入一个NavigationController。有了导航栏后,我们要调整一下webview的y轴位置,防止导航栏遮住网页上面部分,在viewDidLoad()里写上:

复制代码
//获取导航栏高度
let navHeight = self.navigationController?.navigationBar.frame.height
//获取状态栏高度
let statusHeight = UIApplication.sharedApplication().statusBarFrame.height
webview = WKWebView(frame: CGRectMake(0, statusHeight+navHeight!,self.view.frame.width, self.view.frame.height))
其次,这里要用到WKNavigationDelegate,所以在viewDidLoad()里加上
复制代码
self.webview.navigationDelegate = self
注意网页标题要在网页加载完成后才能获取,否则为空,于是我们用到'处理网页加载完成'这个方法:
复制代码
func webView(webView: WKWebView, didFinishNavigation navigation: WKNavigation!) {
    self.navigationItem.title = self.webview.title
  }
运行效果如图:

 

Swift,WKWebView,iOS应用

 

5.前进和后退
首先我们要在navgationBar上添加前进和后退按钮:

复制代码
var btnBack = UIBarButtonItem()
var btnForward = UIBarButtonItem()
func setNavBar() {
  btnBack = UIBarButtonItem(title: "后退", style: UIBarButtonItemStyle.Plain, target: self, action: "toBack")