如何让 WKWebView 在 swift 和 macOS 应用程序中快速工作[重复]

2024-02-10

在这个 get 因重复而被击落之前,它不是。这里关于 WKWebView 的几乎每个问题都是关于 iOS 应用程序中的 WKWebView,而不是 macOS 应用程序,区别在于几乎只是实现了 UIViewController 接口,而不是 macOS 中的 NSViewController 接口。

苹果文档中的示例代码以及控制器代码(可以在网上找到)不起作用。尽管编译没有问题,但 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 来完成它也不起作用图片来自 https://developer.apple.com/documentation/webkit/wkwebview https://i.stack.imgur.com/3zL1s.png


我建议你从头开始:

设置要加载的 URL:

let myURLString = "https:yourWebLink"
let url = URL(string: myURLString)
let request = URLRequest(url: url!)

在webview中初始化并加载请求:

let webView = WKWebView(frame: self.view.frame)
webView.navigationDelegate = self
webView.load(request)

实现 WKNavigationDelegate 来跟踪您的页面加载/错误:

extension ViewController: WKNavigationDelegate {

    func webView(_ webView: WKWebView, didStartProvisionalNavigation navigation: WKNavigation!) {
        print("Started to load")
    }

    func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
        print("Finished loading")
    }

    func webView(_ webView: WKWebView, didFailProvisionalNavigation navigation: WKNavigation!, withError error: Error) {
        print(error.localizedDescription)
    }
}

如需进一步参考检查:https://iosdevcenters.blogspot.com/2016/05/creating-simple-browser-with-wkwebview.html https://iosdevcenters.blogspot.com/2016/05/creating-simple-browser-with-wkwebview.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何让 WKWebView 在 swift 和 macOS 应用程序中快速工作[重复] 的相关文章

  • Xcode - 重命名项目会导致问题

    我目前正在开发 iPhone 应用程序 我从在互联网上找到的项目模板开始研究这个问题 现在我想重命名这个项目 我已经成功重命名了实际的项目文件 文件夹和可执行文件以及其他一些东西 但有一个奇怪的问题 如果我尝试在 iPhone 设备上运行该
  • 如何在iPhone sdk静音模式下播放声音文件?

    如何在iPhone sdk静音模式下播放声音文件 我正在尝试以静音模式播放声音文件 但结果为零 我试过这段代码 SystemSoundID soundID AudioServicesCreateSystemSoundID CFURLRef
  • Mac OSX 上使用 Java 7 的透明 JFrame/JWindow

    我们有一个屏幕共享小程序 它打开 Swing JFrame 并使用 Robot 类捕获空框架后面的屏幕 用户可以单击框架并与小程序后面的任何内容进行交互 这在 Windows 上运行良好 并且用于 Apple 的 Java 版本 但对于 M
  • 将 Unmanaged 与 nil 进行比较

    代码是从这篇博客文章复制的 http matthewpalmer net blog 2014 06 21 example ios keychain swift save query http matthewpalmer net blog 2
  • 允许沙盒应用程序的 HID 控制

    我们正在尝试对我们的应用程序进行沙箱处理 以将其提交到 Mac App Store 这是第一次 它很难使用较低级别的 Carbon API 并且无法以其他方式操作 当我启用沙箱时 某些功能停止工作 我在日志中看到以下消息 9 14 12 1
  • SwiftUI 中的计算 (NSObject) 属性不会更新视图

    所以 我想要一个Text它根据我的 CoreData 模型的内容更改其内容 为此 我在 Xcode beta 4 中使用了计算属性 但它似乎不再起作用了 这是一个错误还是还有其他我没有看到的问题 我真正遇到的问题是我的视图 和计算的属性 似
  • SwiftUI NavigationView 从其内部开始

    因此 我在页面视图样式的 TabView 中嵌入了一个 NavigationView 首次加载时 NavigationView 将在其内部启动 然后重新加载后即可正常显示 我不确定是什么原因造成的 我制作了一个 GIF 来更好地说明问题 这
  • Mac OSX Snow Leopard 上的 ImageMagick。有什么办法让它编译并运行吗?

    看来我在 Snow Leopard 上运行标准 Unix 东西比任何其他平台 包括 Windows cygwin 都遇到更多麻烦 在过去的几天里 我一直在尝试让 ImageMagick 在 Snow Leopard 上运行 最明显的方法 M
  • 在 SwiftUI 中,如何在 UIView 内部或作为 UIView 使用 UIHostingController?

    另一个问题标题可以是 如何将 UIHostingController 的视图添加为 UIView 的子视图 我正在创建一个新的 UI 组件 并且很乐意尝试 SwiftUI 下图是当前的视图结构 UIView 是我现在正在使用的 右上 Swi
  • 用xCode制作图表[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 您好 我需要绘制一些数组来分析信号 我有一个可可项目正在进行 谁能告诉我在哪里可以找到简化这项任务的工具 基本上我想像在图形计算器上一样显
  • 自定义结构:类型不符合“可解码”协议

    我希望能够保存一个Custom struct to UserDefaults但为此我需要它Codable 我尝试过这样的 struct Wishlist Codable var name String var image UIImage v
  • NSURLConnection 完成时出现错误 - 代码 -1002 修复不起作用

    我收到此错误 NSURLConnection 已完成 错误代码 1002 我已将下面的代码添加到我的 info plist 中 有谁知道为什么 提前致谢
  • OSX 终端在启动时无法识别 ~/.bashrc 和 ~/.bash_profile

    OSX 识别我的 bashrc 和 bashprofile 的唯一方法是我在终端的首选项中指定启动时要定位的文件 他们没有按应有的方式工作有什么原因吗 这是我的 bashrc 的内部 s HOME rvm scripts rvm sourc
  • 关闭模态视图控制器时如何保持呈现视图控制器的方向?

    我正在开发这个应用程序 我需要所有视图控制器 但只有一个是纵向的 单一视图控制器很特别 我需要它能够旋转到手机所在的任何方向 为此 我以模态方式呈现它 未嵌入导航控制器中 所以 例如 我的结构是这样的 window Portrait roo
  • Xcode 6 无法在 Swift 中自动完成

    我正在尝试导入各种库 但我不记得它们的确切名称 很遗憾Xcode6 使用swift 不会像中那样自动完成它们Xcode5 使用objective c 例如 ALAssetsLibrary MPMediaPlayer etc 我被迫用谷歌搜索
  • 是否可以通知 Mac OS X 上的 DTrace 动态生成的代码?

    我们想扩展 Mono 的 VM 来生成可以被使用的信息DTrace http en wikipedia org wiki DTrace和仪器 我正在考虑对 Mono 运行时进行更改 以使其注册或通知它已动态生成的代码 以便 DTrace 可
  • navigator.platform 在 ARM Mac 上的价值是什么?

    苹果有released https www apple com apple events november 2020 几款基于采用 ARM 架构的 M1 芯片的新计算机 与之前基于 x86 架构的计算机相比 的价值是多少navigator
  • .dylib动态链接库可以打包成可执行文件吗?

    是的 我知道 dylib 的全部意义在于它动态加载 但我正在尝试创建一个独立的包 我有一个从命令行构建的可执行文件 在 macOS Lion 上 如果重要的话 我将可执行文件交付给朋友 但他无法运行它 因为他没有安装库 他宁愿not安装库
  • SwiftUI - NavigationSplitView 内的 NavigationStack 内的嵌套链接不起作用

    我正在尝试 ipadOS16 macOS13 中提供的新导航 API 但在弄清楚如何在 macOS 13 上将 NavigationSplitView NavigationStack 和 NavigationLink 组合在一起时遇到了一些
  • 三元运算符结合性

    我无法理解三元运算符上下文中的结合性概念 在大多数情况下 三元运算符如下所示 a b c 在这种情况下 不需要结合性来计算表达式 但有时 三元运算符是嵌套的 a b c d e a b c d e is right associative

随机推荐