gpt4 book ai didi

swift - 无法在 mac 屏幕保护程序发布版本上加载图像(它适用于 Xcode 调试版本)

转载 作者:行者123 更新时间:2023-12-03 09:23:11 26 4
gpt4 key购买 nike

我从 here 得到了这个 mac 屏幕保护程序示例.

我将其更改为显示图像而不是 textField。

问题是:它可以显示任何 Xcode 对象,例如 textView。 textField、Button 等...但它无法在 imageView 上加载图像。 (它可以在 Xcode 调试版本上加载图像,但不能在 mac 屏幕保护程序上的发布版本上加载图像)

Debug Build Screenshot

Release Build Screenshot
.
这是我显示图像的代码:

  let imageView = NSImageView(frame: self.frame)
imageView.image = NSImage(named: "Image")
imageView.layer?.backgroundColor = NSColor.red.cgColor
imageView.backgroundColor(.red)
addSubview(imageView)
DispatchQueue.main.async {
imageView.frame = CGRect(x: 100, y: 100, width: 200, height: 100)
self.setNeedsDisplay(imageView.frame)
}

我很确定它无法访问图像文件,但我该如何解决这个问题?
实际上,屏幕保护程序的行为非常奇怪,当我在 ImageView 之后添加另一个 UI 元素时,它们都没有显示在屏幕上。

macOS 屏幕保护程序有什么问题? (我从一些网站下载了一些第三方屏幕保护程序,它们也是黑屏。)

最佳答案

NSImage(named:)从主应用程序包加载,但您的图像在插件中,因此请使用以下内容(从包含您的类的包加载)

imageView.image = Bundle(for: type(of: self)).image(forResource: "Image")

使用 Xcode 11.2/macOS 10.15 进行测试。图像位于屏幕保护程序插件目标的 Assets 中。

关于swift - 无法在 mac 屏幕保护程序发布版本上加载图像(它适用于 Xcode 调试版本),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60359447/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com