Строка заголовка Hide NSWindow

Существует ли способ скрыть строку заголовка в NSWindow? Я не хочу должным быть полностью писать новое пользовательское окно. Я не могу использовать NSBorderlessWindowMask, потому что у меня есть нижняя панель на моем окне и использование, NSBorderlessWindowMask заставляет это исчезнуть. Я также пытался использовать setContentBorderThickness:forEdge: с NSMaxYEdge и установкой его к 0, который не работал также.

Любая справка ценится

17
задан indragie 7 January 2010 в 04:07
поделиться

3 ответа

Что случится, если ты получишь супер-обзор кнопки закрытия? Вы можете это скрыть?

// Imagine that 'self' is the NSWindow derived class
NSButton *miniaturizeButton = [self standardWindowButton:NSWindowMiniaturizeButton];
NSView* titleBarView = [miniaturizeButton superview];
[titleBarView setHidden:YES];
1
ответ дан 30 November 2019 в 10:27
поделиться
[yourWindow setStyleMask:NSBorderlessWindowMask];
33
ответ дан 30 November 2019 в 10:27
поделиться

Единственный известный мне способ - создать окно без заголовка (см. NSBorderlessWindowMask). Обратите внимание, что вы не можете (легко) создать окно без заголовка в IB, поэтому вам придется немного поработать в коде (есть несколько разных подходов, вы наверное разберусь).

Большим недостатком использования окна без заголовка является то, что теперь вы находитесь на крючке для гораздо большего количества стандартного внешнего вида и поведения - закругленных углов и тому подобного.

1
ответ дан 30 November 2019 в 10:27
поделиться