NSVisualEffectView с маской имеет неровные углы

В одном из докладов WWDC 2014 о новом пользовательском интерфейсе Yosemite говорится, что следует избегать использования NSVisualEffectView в замаскированных слоях. К сожалению, слой моего вида имеет маску формы, и в результате вид визуального эффекта в нем имеет эффект уродливой неровной кромки:

валовой

Тем не менее, я знаю, что создание маскированного визуального эффекта должно быть как-то возможно, частично по двум причинам:

  • Свойство маски изображения на NSVisualEffectView создает гладкую маску со сглаживанием (но за ней требуется немаскированный фон, а не только немаскированный родительский вид)
  • NSPopover а также NSMenu Кажется, что в состоянии получить гладкую маску, которая изменяется с размерами:

Гладкий; плавный

Также гладко

Хотя сомнительно, что они используют или нет? NSVisualEffectView, а не пользовательский размытый вид.

Есть ли способ, которым я могу добиться этой гладкой маски, которая основана не на изображении маски, а на слое траектории или формы?

1 ответ

Я пытался достичь этого с NSWindow просмотреть некоторое время назад, и я наткнулся на эту удивительную библиотеку: https://www.cocoacontrols.com/controls/waythedarkside

Это позволяет добавить светлое или темное размытие к вашему виду / фону. Я думаю, это то, что вы ищете:)

Другие вопросы по тегам