
在此之前,由于重复而被击落,事实并非如此.几乎WKWebVIEw上的每个问题都是关于iOS应用程序中的WKWebVIEw,而不是macOS应用程序,区别仅在于实现的UIVIEwController接口而不是macOS中的NSVIEwController接口.
Apple的文档中的示例代码以及可在线找到的Controller代码不起作用.尽管如此,它编译时没有问题,webvIEw保持不活动状态.
有什么东西我没看到,或者这是WKWebVIEw中的错误?
我甚至从教程中复制了一些代码,显示了如何为iOS做这个,只是将UIVIEwController更改为NSVIEwController(因为这是唯一的区别),但它没有用.
VIEwController.swift中的以下代码不起作用.
它也不起作用
class VIEwController:NSVIEwController,WKUIDelegate
import Cocoa;import WebKit;class VIEwController: NSVIEwController { @IBOutlet weak var webVIEw: WKWebVIEw! overrIDe func vIEwDIDLoad() { super.vIEwDIDLoad() // Do any additional setup after loading the vIEw. let url=URL(string: "http://safetec-cam.biz/images/webcam_extern/bad-nauheim_bahnhof_west.jpg"); webVIEw.load(URLRequest(url: url!)); }} 如果用UIVIEwController交换NSVIEwController这样做的话它也行不通
image from https://developer.apple.com/documentation/webkit/wkwebview
设置要加载的URL:
let myURLString = "https:yourWeblink"let url = NSURL(string: myURLString)let request = NSURLRequest(URL: url!)
在webvIEw中初始化和加载请求:
webVIEw = WKWebVIEw(frame: self.vIEw.frame) webVIEw.navigationDelegate = self webVIEw.loadRequest(request)
实现WKNavigationDelegate以跟踪您的页面加载/错误:
func webVIEw(webVIEw: WKWebVIEw,dIDFailProvisionalNavigation navigation: WKNavigation!,withError error: NSError) { print(error.localizedDescription)}func webVIEw(webVIEw: WKWebVIEw,dIDStartProvisionalNavigation navigation: WKNavigation!) { print("Strat to load")}func webVIEw(webVIEw: WKWebVIEw,dIDFinishNavigation navigation: WKNavigation!) { print("finish to load")} 别忘了在VIEwController.swift文件中添加委托WKNavigationDelegate.
class VIEwController: UIVIEwController,WKNavigationDelegate{ 进一步参考检查:https://iosdevcenters.blogspot.com/2016/05/creating-simple-browser-with-wkwebview.html
总结以上是内存溢出为你收集整理的如何让WKWebView在swift和macOS App中工作全部内容,希望文章能够帮你解决如何让WKWebView在swift和macOS App中工作所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)