Swift 从文件夹引用填充Interface Builder中的NSImage
我在项目中放置了一个包含图像的文件夹作为文件夹引用。现在我可以在Contents/Resources/Images/foo.jpg中的包中看到它 我尝试像这样填充NSImage:Swift 从文件夹引用填充Interface Builder中的NSImage,swift,xcode,macos,interface-builder,Swift,Xcode,Macos,Interface Builder,我在项目中放置了一个包含图像的文件夹作为文件夹引用。现在我可以在Contents/Resources/Images/foo.jpg中的包中看到它 我尝试像这样填充NSImage: @IBOutlet var imageView: NSImageView! override func viewDidLoad() { super.viewDidLoad() imageView.image = NSImage (named: "Images/foo.jpg")
@IBOutlet var imageView: NSImageView!
override func viewDidLoad() {
super.viewDidLoad()
imageView.image = NSImage (named: "Images/foo.jpg")
}
但加载应用程序时不会显示图像。我使用的是界面生成器,而不是XIB。这有区别吗?如果我将图像添加为组,我可以使用名为“foo.jpg”的图像,而不会出现任何问题。我现在了解了内部工作原理。这是我的解决方案:
@IBOutlet var imageView: NSImageView!
override func viewDidLoad() {
super.viewDidLoad()
let image = Bundle.main.path(forResource: "foo", ofType: "jpg", inDirectory: "Images")
imageView.image = NSImage (contentsOfFile: image)
}
参考文件在我的包中没有命名,因此从未找到它们。使用完整路径,它运行良好。请参阅目标>构建阶段。我在复制包资源中看到了我的文件夹。它需要在其他任何地方吗?我不应该用它指向任何绝对路径吗?