Вы можете получить суперпредставление содержимого окна и добавить к нему настраиваемое представление. Просто убедитесь, что вы правильно позиционируете свое мнение. Вот пример кода:
NSView *frameView = [[window contentView] superview];
NSRect frame = [frameView frame];
NSRect otherFrame = [otherView frame];
otherFrame.origin.x = NSMaxX( frame ) - NSWidth( otherFrame );
otherFrame.origin.y = NSMaxY( frame ) - NSHeight( otherFrame );
[otherView setFrame: otherFrame];
[frameView addSubview: otherView];
Здесь otherView
- это представление, которое вы хотите разместить в строке заголовка. Этот код не будет работать, хотя, если есть кнопка на панели инструментов - они будут перекрываться. К счастью, есть API для получения кнопки на панели инструментов, чтобы вы могли рассчитать позицию:
NSButton *toolbarButton = [window standardWindowButton: NSWindowToolbarButton];
otherFrame.origin.x = NSMinX( [toolbarButton frame] ) - NSWidth( otherFrame );
Вы также должны убедиться, что маски автоматического изменения размера для вашего вида установлены так, чтобы они оставались в верхнем правом углу окна:
[otherView setAutoresizingMask:NSViewMinXMargin | NSViewMinYMargin];