【发布时间】:2023-03-23 11:56:01
【问题描述】:
我正在尝试将图像加载到 imageView(在 NSWindow 内),但它不起作用。新窗口看起来很好,但里面的图像没有。我尝试了几种方法来解决这个问题(例如使用 URL 而不是字符串),但都失败了。有人可以帮我找到正确的方法吗? 附:该图像已插入 xcassets 并添加到项目中(因此我可以从中创建一个 URL)。谢谢
let imageView = NSImageView()
let image = NSImage(named: NSImage.Name("PageAide"))
imageView.image = image!
let window = NSWindow()
window.styleMask = NSWindow.StyleMask(rawValue: 0xf)
window.setFrame(NSRect(x: 200, y: 200, width: 800, height: 800), display: false)
window.contentView?.addSubview(imageView)
let controller = NSWindowController(window: window)
controller.showWindow(self)
【问题讨论】:
-
您没有设置 imageView 的框架。那么它应该以什么尺寸出现在哪里呢?
-
它通过添加以下代码行来工作:imageView.frame = NSRect(x: 200, y: 200, width: 800, height: 800)。剩下的唯一问题是它不在窗口内居中。不过,不管怎样,这个问题已经解决了,非常感谢。
-
我的赌注。通过将横坐标和纵坐标更改为“0”进行更正:imageView.frame = NSRect(x: 0, y: 0, width: 800, height: 800)。我的问题得到了完整的答复。