W jednym z wykładów WWDC 2014 na temat nowego interfejsu Yosemite, mówi się, aby unikać używania zamaskowanych warstw NSVisualEffectView
. Niestety warstwa moim zdaniem za ma maskę kształtu, a w rezultacie efekt wizualny wgląd w to ma brzydki poszarpany efekt krawędzi:NSVisualEffectView z maską ma postrzępione rogi
Jednak wiem, to musi być w jakiś sposób można stworzyć zamaskowany efekt wizualny przeglądać, częściowo ze względu na 2 powodów:
- nieruchomość maska obraz na
NSVisualEffectView
tworzy gładką, anty-alised maskę (ale wymaga niemaskowalny tło za nim, a nie tylko niemaskowalny zobacz główne) NSPopover
iNSMenu
wydają się być w stanie osiągnąć gładką maskę, która zmienia się z wymiarami:
Chociaż jest doubtable, aby pogoda lub nie używają NSVisualEffectView
i nie zwyczaj zamazany widok .
Czy mogę w jakiś sposób uzyskać gładką maskę, która nie opiera się na obrazie maski, ale raczej na ścieżce lub warstwie kształtu?
Przebacz mi, że pytam, ale dlaczego nie skorzystać z NSP? (zwłaszcza, że Apple twierdzi, że powinieneś unikać maskowania NSVisualEffectView) –
@ DavidRönnqvist ma to zrobić ze sposobem, w jaki okno ma ukryty widok przewijania, strzałka pod ikoną jest w rzeczywistości częścią widoku treści, a tekst przechodzi przez nią . NSPopover nie maskuje swojej zawartości, więc wszystko, co próbuje się wyrenderować w strzale, zostaje przycięte. – Luke
Ponadto, NSPopower faktycznie tworzy nieco inny efekt niż NSVisualEffectView. Oto przykład: https://devforums.apple.com/message/1061741#1061741. Inny przykład: pasek menu OS X ma taki sam efekt rozmycia jak NSVisualEffectView, podczas gdy NSMenus wygląda bardziej podobnie do NSPopover. Jeśli po prostu otworzysz menu w pasku menu, łatwo zobaczysz różnicę między tymi dwoma efektami. – iMaddin