NSVisualEffectView с маской имеет зубчатые углы

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

gross

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

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

Smooth

Also smooth

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

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

Ответ 1

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

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