Объект пользовательского интерфейса - PullRequest
0 голосов
/ 16 июля 2011

Как я могу сделать "панель информирования", как это

enter image description here

enter image description here

Ответы [ 2 ]

2 голосов
/ 16 июля 2011

Сделать панель HUD в Интерфейсном конструкторе?Или текстурированное окно и установить его текстуру на то, что вы хотите?

1 голос
/ 16 июля 2011

Прежде всего, вам нужно непрозрачное окно без полей:

NSPanel *window = [[NSPanel alloc] initWithContentRect:windowFrame styleMask:NSBorderlessWindowMask backing:NSBackingStoreBuffered defer:YES];
[window setOpaque:NO];
[window setBackgroundColor:[NSColor clearColor]];

Рекомендуется использовать NSPanel, поскольку он может стать ключевым только при необходимости (см. setBecomesKeyOnlyIfNeeded). Вам также необходимо иметь свой собственный подкласс NSPanel и переопределить canBecomeKeyWindow, если вам нужно какое-то взаимодействие с пользователем внутри этого окна.

Затем вы можете расположить представление содержимого в xib или создать собственный подкласс NSView, чтобы представить представление содержимого вашего окна, и установить его в пользовательское окно:

[window setContentView:<your content view>];

И, наконец, настоящее окно на экране:

[window makeKeyAndOrderFront:nil];

Если вы хотите, чтобы ваше окно появлялось поверх других окон, вы можете играть со свойством windowLevel класса NSWindow, но будьте осторожны и следуйте рекомендациям Apple Human Interface Guidelines:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...