【问题标题】:How add WKWebView on TableView programmatically如何以编程方式在 TableView 上添加 WKWebView
【发布时间】:2018-05-25 12:51:24
【问题描述】:

我正在尝试制作一个简单的应用程序将数据从网络映射到表。但该站点需要 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 重叠: 怎么做才对?

【问题讨论】:

  • 需要同时显示webView和tableView吗?
  • 不,表明我需要一些东西。该程序是一个 TableViewController,我想显示一个 WebView 以进行授权并获取令牌(从地址栏)并关闭 WebView。我只是在学习以编程方式创建元素。

标签: ios swift uitableview wkwebview


【解决方案1】:

这里至少有两个简单的解决方案。

1) 您可以创建自定义UIViewController,替换您的TableViewController。继承UIViewController 而不是UITableViewController。在那里手动添加tableView,如果需要,使controllerUITableViewDataSourceUITableViewDelegate 一致。然后将webView 添加到其view

2) 您可以创建新的controller,将webView 添加到其中。然后presentcontroller 在你的TableViewController

【讨论】:

  • 我可以创建一个新的 ViewController 并以编程方式向它添加一个 WebView(没有情节提要)?然后在我的 TableViewController 上显示它?
  • @flowGlen。是的你可以。如果你会遇到麻烦。写 - 我会扩展我的答案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-08
  • 1970-01-01
  • 1970-01-01
  • 2013-07-13
  • 1970-01-01
  • 2016-05-06
相关资源
最近更新 更多