【问题标题】:Xcode Opening a WebView in another ViewControllerXcode 在另一个 ViewController 中打开 WebView
【发布时间】:2017-01-24 13:32:43
【问题描述】:

我正在尝试制作一个带有启动 web 视图的按钮的应用程序。

我已经学习了许多教程并阅读了有关该主题的不同主题,但我无法使其正常工作:我在测试代码时收到此消息:

    "Cannot call value of non-function type UIWebView!"

这是我到现在为止的步骤

  • 在主视图控制器中添加按钮
  • 创建另一个名为“WebViewController”的视图控制器
  • 添加一个 segue 以将按钮链接到 WebViewController
  • 创建一个新的 Cocoa Touch 类文件 'WebViewController'
  • 使用 WebViewController 类设置 WebViewController 自定义类
  • 在名为“myWebView”的 WebViewController ViewController 中添加 webView

这是 WebViewController 类(我在运行项目时遇到了错误)

  import UIKit

  class WebViewController: UIViewController{

  @IBOutlet weak var myWebView: UIWebView!

  override func viewDidLoad() {
    super.viewDidLoad()

    // Do any additional setup after loading the view.
    //define url
    let url = NSURL (string: "http://www.my-url.com")
    //request
    let req = NSURLRequest(url: url as! URL)
    //load request into the webview
    myWebview(req as URLRequest) //error happens here : 
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}


/*
// MARK: - Navigation

// In a storyboard-based application, you will often want to do a little preparation before navigation
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    // Get the new view controller using segue.destinationViewController.
    // Pass the selected object to the new view controller.
}
*/

}

这是一个屏幕截图(图片比长文本更能说明问题,对 =)

谢谢!

【问题讨论】:

标签: ios swift xcode uiviewcontroller uiwebview


【解决方案1】:

尝试使用:

  let url = NSURL (string: "https://google.com")
  let request = NSURLRequest(url: url as! URL)
  self. myWebView.loadRequest(request as URLRequest)

此代码适用于我

【讨论】:

  • 感谢您的回复!我以后会试试的!
【解决方案2】:

你可以使用SFSafariViewController:

import SafariServices

let url = URL(string: "https://www.google.com")
let safariVC: SFSafariViewController = SFSafariViewController(url: url)

self.present(safariVC, animated: true, completion: nil)

我使用了 swift 3 语法。 该代码会打开一个 Safari Web 视图,您无需在情节提要中创建 segue 和视图控件。

【讨论】:

  • 您可以为其设置色调颜色、标题和其他属性。希望对您有所帮助!
  • 我以后也试试!谢谢!
猜你喜欢
  • 1970-01-01
  • 2018-11-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多