Disattivando il contenuto di un NSWindow
-
11-09-2019 - |
Domanda
Ho un NSWindow
con 2 NSViews
(un NSSplitView
e un NSView
personalizzato). Accesso ai dati per compilare questi punti di vista può richiedere del tempo. Durante questo periodo, mi piacerebbe in grigio il contenuto di questi punti di vista.
Il mio primo approccio era quello di avere una terza NSView
nera che copriva gli altri 2 e raggiungere l'ingrigimento out effetto cambiando il suo valore alfa. Tuttavia allora ho imparato che ha una gerarchia, con vista di pari livello non è definito.
Qual è l'approccio migliore qui?
- Cache l'
NSBitmapImageRep
dei 2 punti di vista, quindi sostituirli con il 3 ° vista, utilizzando l'immagine memorizzata nella cache (s) come sfondo - Imposta il valore alfa per ogni vista separatamente (ancora non del tutto sicuro di come ottenere lo sfondo nero per l'effetto brizzolati)
- Qualcosa non ho considerato
Soluzione
mi piacerebbe utilizzare una finestra secondaria. Impostare la visualizzazione di contenuti ad una visione semplice nero (si spera con lo stato e le informazioni di avanzamento in subviews), e il suo valore alfa per il fade-out desiderato e aggiungerlo come una finestra figlio della finestra di cui si desidera fade out. Contenuti
Altri suggerimenti
Mi piacerebbe insegnare i punti di vista come disegnare se stessi in uno stato disattivato, ma ci sono altri suggerimenti qui: