NSVisualEffectView с маской имеет зубчатые углы
В одном из разговоров WWDC 2014 о новом пользовательском интерфейсе Yosemite говорится, что следует избегать использования NSVisualEffectView
в замаскированных слоях. К сожалению, у моего слоя обзора есть маска формы, и в результате визуальный эффект в ней имеет эффект уродливого эффекта зубчатого края:
![gross]()
Однако я знаю, что должно быть возможно создать маскированный визуальный эффект, частично из-за двух причин:
- Свойство маски изображения на
NSVisualEffectView
создает гладкую антиализованную маску (но для нее требуется немасштабированный фон, а не только немаркированное родительское представление)
-
NSPopover
и NSMenu
, похоже, могут достичь гладкой маски, которая изменяется с размерами:
![Smooth]()
![Also smooth]()
Хотя сомнительно, что они используют или не используют NSVisualEffectView
, а не пользовательский размытый вид.
Есть ли способ достичь этой гладкой маски, которая не зависит от изображения маски, а скорее от уровня пути или формы?
Ответы
Ответ 1
Я пытался добиться этого с просмотром NSWindow
некоторое время назад, и я наткнулся на эту замечательную библиотеку: https://www.cocoacontrols.com/controls/waythedarkside
Это позволяет добавить к вашему виду/фону светлое или темное пятно. Я думаю, что это то, что вы ищете:)