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
È stato utile?

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:

Come posso oscurare tutto visualizzato in un unico NSView?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top