Mam kilka zdjęć w moich zasobach. Co próbuję zrobić, to renderowanie obrazu w pasku stanu OSX jak następuje:Rendering tego samego obrazu o różnych rozmiarach
let icon = NSImage(named: "statusIcon")
icon?.size = NSSize.init(width: 18, height: 18)
icon?.template = true
statusItem.image = icon
statusItem.menu = statusMenu
a także używając go w jednym z moim zdaniem, która otwiera:
self.dayIcon.image = NSImage(named: "statusIcon")
Problemem jest to, jak najszybciej i ustawić obraz paska stanu, obraz w widoku zmienia się również, czyli zarówno kolor i rozmiar 18x18 (zmiany)
próbowałem, używając
icon?.cacheMode = NSImageCacheMode.Never
ale nie ma efektu.
Czy tak powinno być? Czy nie mogę użyć tego samego obrazu i renderować go inaczej w różnych miejscach. Oba są różne instancje NSImage
.
Spróbuj ustawić właściwość szablonu NSImage na fałszywy –
Szablon potrzebny do ustawienia ikony statusu –
Myślę, że masz rację myśląc, że otrzymujesz wersję z pamięci podręcznej. Jednak właściwość 'cacheMode' ma jedynie związek z rzeczywistym rysunkiem. Czy próbowałeś zrobić wyraźną kopię obrazu? 'icon = icon.copy()' –