NSWindow тень с прозрачностью, как обрезать определенную область

В нашем приложении OS X мы включили тень окна view.window?.hasShadow = true, Это создаст прекрасную тень над NSWindow. Мы создали отверстие в приложении с помощью пользовательского представления, чтобы видеть фон через него, через его слой маски.

Наша проблема в том, что тень видна и в области отверстия. Можем ли мы сделать так, чтобы тень не появлялась в прозрачной области? Мы искали, но не получили ничего, чтобы обрезать тень окна в определенной области.

Эта тень создает некоторую проблему в приложении

  1. Мы дали кнопку, чтобы свернуть / развернуть вид, в котором есть дыра. Таким образом, отверстие будет увеличиваться и уменьшаться в соответствии с этим. В это время окно не будет пересчитывать тень. Мы попробовали view.window?.invalidateShadow(), Но это не имеет никакого эффекта.
  2. Мы рисуем несколько текстов над прозрачной областью. Когда происходит разворачивание раскрытия, мы можем видеть следы нарисованного текста. Это всегда будет там.

Все будет хорошо, если мы изменим размер приложения, которое пересчитает тень. Как мы можем преодолеть эту проблему. Какая будет работа вокруг.

0 ответов

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