NSView вне NSWindow - PullRequest
       8

NSView вне NSWindow

4 голосов
/ 08 марта 2012

У меня есть NSWindow и, по сути, я пытаюсь открыть NSWindow за пределами NSWindow, это каждый раз, когда пользователь наводит курсор на NSWindow.

Но каждый раз, когда я пытаюсь это сделать, поскольку NSView находится за пределами NSWindow, оно отключается.

Вот картина того, чего я пытаюсь достичь: enter image description here

Ответы [ 2 ]

7 голосов
/ 08 марта 2012

Вам нужно создать NSWindow без полей, достаточно большой, чтобы вместить ваш вид, и сделать окно дочерним окном главного окна, к которому оно прикреплено.Чтобы сделать окно дочерним для другого окна, вы используете метод addChildWindow:ordered: NSWindow.

Дочерние окна присоединяются к родительскому окну и будут перемещаться вместе с родительским окном при перемещении родительского окна.Если вы просто откроете новое окно, не делая его дочерним, оно будет «оставлено позади», если другое окно будет перемещено.

Чтобы создать окно без полей, передайте NSBorderlessWindowMask как styleMask вinitWithContentRect:styleMask:backing:defer: метод NSWindow.

2 голосов
/ 08 марта 2012

Самый простой подход - создать еще один NSWindow без рамки и поместить в него кнопку.

...