为 UIWebkit 赋予价值并更改实例化 ViewController [Swift 4] [英] Give Value to UIWebkit and change instantiate ViewController [Swift 4]

查看:20
本文介绍了为 UIWebkit 赋予价值并更改实例化 ViewController [Swift 4]的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的第一个 ViewController 中有一个 tableView.它的功能之一就是这个

I have a tableView in my first ViewController. One of its functions is this one

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    print("Row \(indexPath.row) selected")

    let mainStoryboard:UIStoryboard = UIStoryboard(name: "Main", bundle: nil)

    let webViewController = mainStoryboard.instantiateViewController(withIdentifier: "webViewController") as! webViewController
    self.navigationController?.pushViewController(webViewController, animated: true)
}

如您所见,我想在选择一行时更改 viewController,并根据选择我想在下一个 ViewController 上显示一个网站.我不知道如何将行值传递给下一个 ViewController 或在此函数中设置 webView.

As you can see I want to change the viewController when an row is selected and based on the selection I want to present a Website on the next ViewController. I don't know how to pass the row value to the next ViewController or set the webView in this function.

我想像这样打开我的网址,但可能在每行一个网址的 if-else 语句中.

I want to open my urls like this, but probably in a if-else statement for each row one url.

@IBOutlet weak var webView: WKWebView!

override func viewDidLoad() {
    super.viewDidLoad()

    let url = URL(string:"https://www.google.com")
    let request = URLRequest(url: url!)

    angebotWebView.load(request)

}

感谢您的帮助

推荐答案

在你的 webViewController 中创建一个字符串变量:

Create a String Variable in Your webViewController:

var urlString: String = ""  // here

@IBOutlet weak var webView: WKWebView!

override func viewDidLoad() {
super.viewDidLoad()

let url = URL(string: urlString) // put here
let request = URLRequest(url: url!)
angebotWebView.load(request)
         OR
if let urlString = urlString, let url = URL(string: urlString) {
    let request = URLRequest(url: url)
    angebotWebView.load(request)
}



}

在你的这个方法中:-

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
print("Row \(indexPath.row) selected")

let mainStoryboard:UIStoryboard = UIStoryboard(name: "Main", bundle: nil)

let webViewController = mainStoryboard.instantiateViewController(withIdentifier: "webViewController") as! webViewController
webViewController. urlString = yourUrlArray[indexPath.row]  // call it here
self.navigationController?.pushViewController(webViewController, animated: true)
}

这篇关于为 UIWebkit 赋予价值并更改实例化 ViewController [Swift 4]的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆