У меня стандартная NSOutlineView
. Я хотел бы, чтобы у него было фоновое изображение, которое мозаично расположено по вертикали и которое прокручивается вместе с ячейками представления контура.
Я несколько добился этого, используя следующее в моем ViewController:
class ViewController: NSViewController {
@IBOutlet weak var outlineView: NSOutlineView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
if let image = NSImage(named: "tile") {
let color = NSColor.init(patternImage: image)
outlineView.backgroundColor = color
}
}
}
Это работает, за исключением случаев, когда вы прокручиваете верхнюю или нижнюю часть представления (с растяжением, обеспечиваемым содержащим прокрутку).
Я пробовал поместить фоновое изображение в представление прокрутки, но тогда оно имеет c и не прокручивается вместе с содержимым представления контура.
Я также пробовал создавать подклассы различных объектов в иерархии представлений и переопределив их метод draw(_ dirtyRect: NSRect)
и выполнив:
self.wantsLayer = true
self.layer?.backgroundColor = ...etc
, но и от этого не добился успеха.
Может ли кто-нибудь дать какие-либо предложения?