关于如何在iOS中为UIView设置背景图像的问题,我找到了几个答案。 但是我无法为macOS解决这个问题,特别是对于cocoa。 我试图设置像
这样的东西let bgImage = NSImage(named: "streaks")
let pattern = NSColor(patternImage: bgImage!)
self.view.layer?.background = pattern as! CGColor // this will fail on runtime
答案 0 :(得分:5)
与UIView
不同,NSView
默认不支持图层,您必须启用它。
self.view.wantsLayer = true
然后创建图像并将其分配给图层的contents
属性。
let image = NSImage(named: "streaks")
self.view.layer!.contents = image
答案 1 :(得分:1)
在Swift 4中
self.view.wantsLayer = true
let image = NSImage(named: NSImage.Name(rawValue: "streaks"))
self.view.layer!.contents = image
答案 2 :(得分:0)
CustomImageView类:NSView {
open override func makeBackingLayer() -> CALayer {
let backingLayer = super.makeBackingLayer()
let image = NSImage(named: NSImage.Name(rawValue: "imageName"))
backingLayer.contents = image
return backingLayer
}
}