【问题标题】:NSImageview does not display jpg - storyboard - swift4NSImageview 不显示 jpg - 故事板 - swift4
【发布时间】: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)。我的问题得到了完整的答复。

标签: swift imageview


【解决方案1】:

最终代码:

let imageView = NSImageView()
let image = NSImage(named: NSImage.Name("Name of image has displayed in Assets.xcassets"))
imageView.image = image!
imageView.frame = NSRect(x: 0, y: 0, width: 800, height: 800)

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)

【讨论】:

    猜你喜欢
    • 2017-08-07
    • 1970-01-01
    • 1970-01-01
    • 2017-05-02
    • 2014-11-11
    • 1970-01-01
    • 2012-02-15
    • 1970-01-01
    • 2023-03-14
    相关资源
    最近更新 更多