如何以编程方式在TableView上添加WKWebView

时间:2018-05-25 12:51:25

标签: ios swift uitableview wkwebview

我正在尝试制作一个简单的应用程序,将数据从网络映射到表格。但该网站需要OAuth 2.0的授权和令牌的接收。希望以编程方式显示带有WKWebView的视图。我这样做:

import UIKit
import WebKit

class TableViewController: UITableViewController, WKUIDelegate {
    var webView: WKWebView!

    override func viewDidLoad() {
        super.viewDidLoad()

        let webConfiguration = WKWebViewConfiguration()
        webView = WKWebView(frame: CGRect(x: 0.0, y: 0.0, width: tableView.bounds.width, height: tableView.bounds.height), configuration: webConfiguration)
        webView.uiDelegate = self
        tableView.addSubview(webView)
        let myRequest = URLRequest(url: URL(string: "https://www.google.ru/")!)
        webView.load(myRequest)
    }

    override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return 5
    }

    override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "idFriendCell", for: indexPath)
        cell.textLabel?.text = String(indexPath.row)
        return cell
    }
}

但是,分隔符TableView与我的WebView重叠: enter image description here 怎么做对了?

1 个答案:

答案 0 :(得分:0)

至少你有2个简单的解决方案。

1)您可以创建自定义UIViewController,替换TableViewController。这继承了UIViewController而不是UITableViewController。手动添加tableView,如果需要,将controller符合UITableViewDataSourceUITableViewDelegate。然后将webView添加到其view

2)您可以创建新的controller,为其添加webView。然后在controller

present新的TableViewController