2010-09-30 8 views
7

Tenía la esperanza de liberar el software con un período de prueba y me preguntaba cómo podría mostrar un enlace en el lado derecho de la barra de título diciéndoles cuánto tiempo durará el juicio similar a esto:¿Agregar texto secundario a la barra de título de la ventana en Cocoa?

What Coda Does.

¿Alguien tiene alguna sugerencia?

+0

duplicado posible de [botón Agregar a la parte superior de las ventanas (OSX)] (https://stackoverflow.com/questions/9955676/add-button-to-top-of-windows-osx) –

Respuesta

10

Puede obtener la supervista de la vista de contenido de Windows y agregar una vista personalizada a esa. Solo asegúrate de posicionar tu vista correctamente. Aquí hay un código de ejemplo:

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

aquí otherView es la vista que desea poner en la barra de título. Sin embargo, este código no funcionará si hay un botón en la barra de herramientas: se superpondrían. Por suerte hay una API para obtener el botón de la barra de herramientas para que pueda calcular la posición:

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

también hay que asegurarse de que las máscaras autosizing para su vista se configuran para que se mantenga en la esquina superior derecha de la ventana:

[otherView setAutoresizingMask:NSViewMinXMargin | NSViewMinYMargin]; 
+0

Gracias. ¡Añadí esto hace unos días y funciona genial! – Wizecoder

+0

Excelente respuesta. Funciona maravillosamente –

Cuestiones relacionadas