В одном из выступлений WWDC 2014 о новом пользовательском интерфейсе Yosemite говорится, что во избежание использования NSVisualEffectView
в замаскированных слоях. К сожалению, слой с моей точкой зрения действительно есть маска формы, и в результате визуального вид эффекта в нем имеет уродливый зазубренный край эффект:NSVisualEffectView с маской имеет зазубренные углы
Однако я знаю, что это должно быть как-то можно создать замаскированный визуальный эффект просматривать, частично из-за 2 причинами:
- свойство изображения маски на
NSVisualEffectView
производит гладкую, анти-alised маски (но требует немаскированного фона позади него, а не только немаскированный вид родителя) NSPopover
и, кажется, чтобы быть в состоянии достичь гладкой маски, которая изменяет с размерами:
Хотя сомнительная, чтобы Wether или нет они используют NSVisualEffectView
, а не пользовательское помутнение вида ,
Есть ли способ достичь этой гладкой маски, которая не зависит от изображения маски, а скорее от уровня пути или формы?
Простите меня за вопрос, но почему бы просто не использовать NSPopover? (особенно, поскольку Apple заявляет, что вам следует избегать маскировки NSVisualEffectView) –
@ DavidRönnqvist, чтобы сделать так, чтобы в окне было scrollview, которое было замаскировано, стрелка под значком на самом деле является частью представления содержимого, и текст пройдет через него , NSPopover не маскирует его содержимое, поэтому все, что пытается отобразить себя внутри стрелки, обрезается. – Luke
Кроме того, NSPopover фактически создает несколько иной эффект, чем NSVisualEffectView. Вот пример: https://devforums.apple.com/message/1061741#1061741. Другой пример: меню OS X имеет тот же эффект размытия, что и NSVisualEffectView, тогда как NSMenus больше похож на NSPopover. Если вы просто открываете меню в строке меню, вы можете легко увидеть разницу между этими двумя эффектами. – iMaddin