Как отключить курсор по умолчанию на прозрачном заголовке NSWindow? - PullRequest
0 голосов
/ 06 сентября 2018

Я создаю NSWindow с прозрачным заголовком, используя:

  • setTitleVisibility: NSWindowTitleHidden
  • setTitlebarAppearsTransparent: ДА
  • setMovable: NO

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

Можно ли переопределить это поведение, чтобы форма курсора мыши определялась содержимым окна (которое использует addCursorRect)?

1 Ответ

0 голосов
/ 01 октября 2018

Есть разница между прозрачным заголовком и вообще без заголовка. Похоже, у вас есть окно с прозрачным заголовком, но вы хотите окно без заголовка.

Если вы вообще не хотите использовать заголовок, вам нужно убедиться, что у styleMask окна нет NSWindowStyleMaskTitled.

Если вы создаете окно в xib или раскадровке, вы можете отключить флажок «Строка заголовка» в инспекторе атрибутов окна.

Если вы создаете окно в коде, вы можете установить styleMask, используя инициализатор initWithContentRect:styleMask:backing:defer:, или вы можете установить styleMask после создания.

Например, эта строка удалит бит NSWindowStyleMaskTitled из существующего окна styleMask:

self.window.styleMask &= ~NSWindowSytleMaskTitled;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...