【问题标题】:iOS Swift WebView issuesiOS Swift WebView 问题
【发布时间】:2018-05-29 05:08:03
【问题描述】:

我是 iOS 编程的新手,我正在尝试制作简单的基于 TableViewCell 的应用,点击后我会打开一个带有动态 URL 的 webView

在我的 main.storyboard 中,我添加了一个UIViewController,我在其中添加了WebviewNavigationBar

  1. webView 总是全屏打开。因此,如果我添加导航栏或后退按钮,它不会显示在视图中。

  2. 如何从 webView 导航回包含项目列表的表格视图页面?

我的代码:

import UIKit
import WebKit

class WebViewController: UIViewController, WKNavigationDelegate {

    var webView: WKWebView!
    func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
        title = webView.title
    }
    override func viewDidLoad() {
        super.viewDidLoad()
        let url = URL(string: webURL)!
        print(url)
        webView.load(URLRequest(url: url))
    }

    override func loadView() {
        webView = WKWebView()
        webView.navigationDelegate = self
        view = webView
    }
}
  1. 现在,在上面的代码中,我添加了 webView 作为一个简单的变量。 一旦我将其设为@IBOutlet 并链接到此控制器,代码就会抛出SIGBART error。有什么原因吗?

  2. 我想使用 webview 的导航方法,例如:

    @IBAction func backAction(sender: AnyObject) {
        if webView.canGoBack {
            webView.goBack()
        }
    }
    
    @IBAction func forwardAction(sender: AnyObject) {
        if webView.canGoForward {
            webView.goForward()
        }
    }
    
    @IBAction func refreshAction(sender: AnyObject) {
        webView.reload()
    }
    
    @IBAction func stopAction(sender: AnyObject) {
        webView.stopLoading()
    }
    

    但由于我无法将 WebView 添加为插座,因此上述方法对我不起作用。

我在点击一行时执行 segue 的 TableController 代码:

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    performSegue(withIdentifier: "recipeWebView", sender: self)
}

【问题讨论】:

  • 您需要将您的表格视图嵌入 UINavigationController 并在单元格上单击推送带有 WebView 的 ViewController。
  • 添加控制器的代码,从那里你正在推动 webViewController
  • 你是如何从第一个视图控制器导航到第二个视图控制器的?
  • 使用表控制器代码更新信息
  • 展示或呈现哪种类型的转场?

标签: ios swift uitableview uiwebview swift4


【解决方案1】:

是的,因为导航栏无法执行,您还没有添加导航控制器。

按照这个类型->表格视图->导航控制器->uiviewcontroller->webview

如果有帮助请告诉我?

【讨论】:

  • 我想,但我在这里没有足够的声誉.. :D
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-22
  • 2017-07-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多