In einem der WWDC 2014 Gespräche auf der neuen Yosemite UI heißt es, die Verwendung von NSVisualEffectView
in maskierten Schichten zu vermeiden. Leider hat meine Ansicht der Schicht, die eine Form Maske hat, und als Ergebnis darin die optische Wirkung Ansicht hat einen hässlichen gezackten Randeffekt:NSVisualEffectView mit Maske hat gezackte Ecken
jedoch weiß, dass ich es irgendwie möglich sein muss, um einen maskierten visuellen Effekt zu erzeugen sehen, zum Teil auf 2 Gründe:
- Die Bildmaske Eigenschaft auf
NSVisualEffectView
erzeugt einen glatten, anti-sierten Maske (aber erfordert einen unmaskierten Hintergrund dahinter, und nicht nur eine unmaskierte geordneten Ansicht) NSPopover
undNSMenu
scheinen eine glatte Maske zu erreichen in der Lage sein, die mit den Abmessungen ändert:
Obwohl es zweifelhaft wie Wetter oder nicht sie verwenden NSVisualEffectView
, und nicht eine individuelle verschwommene Sicht .
Gibt es eine Möglichkeit, diese glatte Maske zu erreichen, die nicht auf einem Maskenbild beruht, sondern auf einer Pfad- oder Formebene?
Verzeihen Sie mir für Fragen, aber warum nicht einfach einen NSPopover verwenden? (vor allem da Apple sagt, dass Sie vermeiden sollten, NSVisualEffectView zu maskieren) –
@ DavidRönnqvist es mit der Art und Weise zu tun, dass das Fenster eine scrollview hat, die maskiert ist, ist der Pfeil unter dem Symbol tatsächlich ein Teil der Inhaltsansicht und der Text wird durchlaufen . NSPopover maskiert seinen Inhalt nicht, sodass alles, was versucht, sich innerhalb des Pfeils zu rendern, abgeschnitten wird. – Luke
Ein NSPopover erzeugt auch einen etwas anderen Effekt als eine NSVisualEffectView. Hier ein Beispiel: https://devforums.apple.com/message/1061741#1061741. Ein weiteres Beispiel: Die OS X-Menüleiste hat den gleichen Unschärfeeffekt wie eine NSVisualEffectView, während der NSMenus eher einem NSPopover ähnelt. Wenn Sie einfach ein Menü in der Menüleiste öffnen, können Sie leicht den Unterschied zwischen den beiden Effekten sehen. – iMaddin