Esto es lo que sucede cuando creo una NSProgressIndicator y use NSStatusItem
's -setView:
method para mostrar en el área de la barra de menú mientras estoy realizando una acción:¿Qué hace que se aplique un borde blanco a un NSProgressIndicator que se muestra en el menú del sistema?
Example of messed up NSProgressIndicator http://cl.ly/l9R/content
Lo que hace que esta frontera a visualizar, y cómo puedo quitar ¿eso? El resultado esperado es que el control sea transparente.
Aquí está el código que estoy usando:
NSProgressIndicator *progressIndicator = [[NSProgressIndicator alloc] init];
[progressIndicator setBezeled: NO];
[progressIndicator setStyle: NSProgressIndicatorSpinningStyle];
[progressIndicator setControlSize: NSSmallControlSize];
[progressIndicator sizeToFit];
[progressIndicator startAnimation: self];
[statusItem setView: progressIndicator]; // statusItem is an NSStatusItem instance
...
[statusItem setView: nil];
[progressIndicator stopAnimation: self];
[progressIndicator release];
¡Eso definitivamente funciona! El único problema es que ahora no se mostrará cuando haga algo más que mostrarlo y dejarlo: estoy ejecutando un NSTask mientras se muestra el indicador; ¿algunas ideas? –
Volver a establecer el título ayuda. Esto es realmente un problema, y la forma correcta de hacerlo sin problemas podría ser manejar todo en una vista personalizada, en lugar de confiar tanto en una vista personalizada como en las cosas predeterminadas de Cocoa. –