Добавление вторичного текста в строку заголовка окна в Какао?
Я надеялся выпустить свое программное обеспечение с пробным периодом, и мне было интересно, как я могу показать ссылку в правой части строки заголовка, сообщающую им, как долго будет продолжаться их испытание:
,
У кого-нибудь есть предложения?
1 ответ
Вы можете получить суперпредставление содержимого окна и добавить к нему настраиваемое представление. Просто убедитесь, что вы правильно позиционируете свое мнение. Вот пример кода:
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];