ответ Rdelmar, вероятно, самый простой способ, но он может не делать именно то, что вы хотели бы сделать (то есть заменить фактический заголовок с всплывающим элементом вместо всплывающей кнопки под заголовком в области панели инструментов). Что касается функциональности, ваше приложение, вероятно, будет работать так же хорошо, используя панель инструментов.
Однако, если вы действительно хотите заменить фактический заголовок, средство для этого будет состоять в том, чтобы установить текст заголовка NSWindow
на @""
, чтобы скрыть его, и перерисовать его, вставив в свое собственное представление.
[[[theWindow contentView] superview] addSubview:theSubview];
По сути, это говорит суперпредставлению основного представления контента добавить другое подпредставление (прямой «перевод» из кода), и вам придется повозиться с рамкой этого нового подпредставления, чтобы оно было расположено там, где должен располагаться заголовок ( так как теперь его можно разместить в любом месте оконного фрейма, в том числе поверх строки заголовка, а не просто внутри представления содержимого).
theSubview
может быть вашей всплывающей кнопкой или чем угодно, и вам также, вероятно, придется настраивать всплывающую кнопку, чтобы она соответствовала исходному рисунку заголовка окна.
person
Vervious
schedule
03.06.2012