我在主对话框加载后尝试在Swift中加载我的WebView中的URL。我不确定我做错了什么:
class WebViewController: NSViewController {
@IBOutlet var webView: WebView!
// constants
let webUrl = "https://www.google.com"
let webUA = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36"
override func viewDidLoad() {
super.viewDidLoad()
let request = NSMutableURLRequest(URL: NSURL(string: webUrl)!)
request.setValue(webUA, forHTTPHeaderField: "User-Agent")
webView.mainFrame.loadRequest(request)
}
}
调试时没有错误或警告。我想我正确地将笔尖与对象联系起来了:
我现在和代表团玩了几个小时。该页面根本无法加载。
起初我尝试使用applicationDidFinishLaunching
,但情况更糟,因为WebView从未完成创建并且是nil
。
答案 0 :(得分:0)
好吧,所以将ViewController更改为:
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var webView: UIWebView!
var urlPath = "http://www.google.com"
func loadAddressUrl() {
let requestUrl = NSURL(string: urlPath)
let request = NSURLRequest(URL: requestUrl!)
webView.loadRequest(request)
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
loadAddressUrl()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
将@IBOutlet链接到您的Web视图控制器。如果需要,可以使用示例项目。
答案 1 :(得分:0)
原来我指的是错误的WebView?!
在层次结构中,它显示如下:
我需要使用突出显示的那个,而不是内部的那个。当我从对象拖动到布局构建器中的物理视图对象时,使用内部的一个。不知何故拖到这个固定它。
答案 2 :(得分:0)
swfit 4版本的loadAddressUrl()
private func loadAddressUrl() {
let requestUrl = NSURL(string: url.text!)
let request = NSURLRequest(url: requestUrl! as URL)
webView.load(request as URLRequest)
}