NSWindow с пользовательской тенью

Я хочу нарисовать собственную тень на NSWindow-Object.

Есть ли способ сделать это, передав собственный объект NSShadow в NSWindow? Или (приватный) метод, где я могу разместить свой собственный код для рисования?

Спасибо,

1 ответ

Не. Вы не должны изменять внешний вид окна. Изменение внешнего вида интерфейса разрешено только для Apple. Нормальные приложения должны использовать стандартное.

Тем не менее, есть способ, если вы действительно настаиваете на этом. Вы не можете просто прикрепить NSShadow, к несчастью. Также, насколько я понимаю, нет частного метода, который рисует тень. Это делает Window Server, а не приложение.

Но вы можете попросить оконный сервер не добавлять тень. Вы заметили, что в Интерфейсном Разработчике есть опция, подавляющая тень данного окна? Что соответствует свойству hasShadow из NSWindow,

Подавив тень, вам просто нужно нарисовать все самостоятельно. Хороший пример кода, который выполняет пользовательское рисование окон, доступен на ADC, так что взгляните на него.

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