In uno dei discorsi del WWDC 2014 sulla nuova interfaccia utente di Yosemite, si dice di evitare l'uso di NSVisualEffectView
nei livelli mascherati. Purtroppo strato di mio punto di vista ha una maschera di forma, e di conseguenza la vista effetto visivo in esso ha un brutto frastagliato effetto di bordo:NSVisualEffectView con maschera ha angoli frastagliati
però so che deve essere in qualche modo possibile per creare un effetto visivo mascherato visualizzare, in parte a causa di 2 motivi:
- La proprietà maschera di immagine su
NSVisualEffectView
produce una superficie liscia, maschera anti-alised (ma richiede uno sfondo smascherato dietro di esso, e non solo una vista padre senza maschera) NSPopover
eNSMenu
sembrano essere in grado di realizzare una maschera liscia che cambia con dimensioni:
Sebbene sia doubtable da indipendentemente da fatto che usano NSVisualEffectView
, e non una vista offuscata personalizzata .
C'è un modo per ottenere questa maschera liscia che non si basa su un'immagine maschera ma piuttosto su un livello di tracciato o di forma?
Perdonami per averlo chiesto, ma perché non usare solo un NSPopover? (soprattutto dal momento che Apple afferma che è necessario evitare di mascherare NSVisualEffectView) –
@ DavidRönnqvist il suo modo di vedere come la finestra ha una vista a scorrimento che è mascherata, la freccia sotto l'icona è in realtà una parte della vista del contenuto e il testo lo attraverserà . NSPopover non maschera il suo contenuto in modo che tutto ciò che tenta di essere visualizzato all'interno della freccia venga troncato. – Luke
Inoltre, un NSPopover crea in realtà un effetto leggermente diverso rispetto a un NSVisualEffectView. Ecco un esempio: https://devforums.apple.com/message/1061741#1061741. Un altro esempio: la barra del menu OS X ha lo stesso effetto sfocato di NSVisualEffectView mentre l'NSMenus sembra più simile a un NSPopover. Se apri semplicemente un menu nella barra dei menu, puoi facilmente vedere la differenza tra i due effetti. – iMaddin