Ios 如何以编程方式在TableView上添加WKWebView
我试图制作一个简单的应用程序,将数据从网络映射到表。但是该站点需要OAuth 2.0的授权和令牌的接收。希望为此以编程方式显示带有WKWebView的视图。我这样做:Ios 如何以编程方式在TableView上添加WKWebView,ios,swift,uitableview,wkwebview,Ios,Swift,Uitableview,Wkwebview,我试图制作一个简单的应用程序,将数据从网络映射到表。但是该站点需要OAuth 2.0的授权和令牌的接收。希望为此以编程方式显示带有WKWebView的视图。我这样做: import UIKit import WebKit class TableViewController: UITableViewController, WKUIDelegate { var webView: WKWebView! override func viewDidLoad() { su
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重叠:
如何正确操作?这里至少有两个简单的解决方案 1) 您可以创建自定义的
UIViewController
,替换您的TableViewController
。继承UIViewController
而不是UITableViewController
。在那里手动添加tableView
,如果需要,将controller
与UITableViewDataSource
和UITableViewDelegate
一致。然后将webView
添加到其视图中
2) 您可以创建新的controller
,将webView
添加到其中。然后在您的tableView控制器中新建控制器
是否需要同时显示webView和tableView?不,显示我需要一个。该程序是一个TableViewController,我想显示一个WebView进行授权,并获取令牌(从地址栏)并关闭WebView。我正在学习以编程方式创建元素。我可以创建一个新的ViewController,并以编程方式向其中添加一个WebView(没有故事板)?然后将其显示在möTableViewController?@flowGlen的顶部。是的,你可以。如果你会遇到麻烦的话。写-我将扩展我的答案