2010-09-30 5 views
7

J'espérais libérer mon logiciel avec une période d'essai et je me demandais comment je pourrais montrer un lien dans la partie droite de ma barre de titre en leur disant combien de temps leur procès durera semblable à ceci:Ajout de texte secondaire à la barre de titre de la fenêtre dans Cocoa?

What Coda Does.

Quelqu'un a des suggestions?

+0

double possible de [le bouton Ajouter en haut des fenêtres (osx)] (https://stackoverflow.com/questions/9955676/add-button-to-top-of-windows-osx) –

Répondre

10

Vous pouvez obtenir la vue d'ensemble de la vue du contenu Windows et y ajouter une vue personnalisée. Assurez-vous de positionner correctement votre vue. Voici quelques exemples de code:

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]; 

ici otherView est la vue que vous voulez mettre dans votre barre de titre. Ce code ne fonctionnera pas s'il y a un bouton de barre d'outils - ils se chevaucheraient. Heureusement, il y a une API pour obtenir le bouton de la barre d'outils afin que vous puissiez calculer la position:

NSButton *toolbarButton = [window standardWindowButton: NSWindowToolbarButton]; 
otherFrame.origin.x = NSMinX([toolbarButton frame]) - NSWidth(otherFrame); 

Vous devez également vous assurer que les masques de redimensionnement automatique pour votre point de vue sont mis en place afin qu'il reste dans le coin supérieur droit de la fenêtre:

[otherView setAutoresizingMask:NSViewMinXMargin | NSViewMinYMargin]; 
+0

Merci. J'ai ajouté ça il y a quelques jours et ça marche super! – Wizecoder

+0

Excellente réponse. Fonctionne à merveille. –

Questions connexes