¿Cómo puedo cambiar el cursor cuando está sobre un NSButton?Cocoa: cambie el cursor cuando haya terminado un NSButton
Respuesta
[yourButton addCursorRect:[yourButton bounds] cursor:[theCursorYouWant]];
Haga que el botón agregue un cursor rect.
cómo hago que –
era necesaria la baja votación? Una búsqueda rápida de la documentación para "cursor rect" le dice mucho. –
@JoshuaNozzi sí, ya que esto no es, en sí mismo, una respuesta útil. –
Primero debe subclase NSButton y luego agregue el código siguiente.
- (void)resetCursorRects
{
if (self.cursor) {
[self addCursorRect:[self bounds] cursor: self.cursor];
} else {
[super resetCursorRects];
}
}
Ahora puede establecer el cursor como lo desee.
[self.button setCursor:[NSCursor pointingHandCursor]];
Nota: añadir cursor
como una propiedad de la subclase, así:
@property (strong) NSCursor *cursor;
¿Podría ampliar un poco su respuesta? NSButton no tiene una variable de instancia de cursor? No entiendo tu respuesta. –
Subclasificar todos y cada uno de los botones que tengo en la interfaz de usuario solo para aplicar un cursor flotante parece irracional. Después de decirle que no debe llamar a addCursorRect directamente, los documentos también le dicen que nunca llame "resetCursorRects" directamente, y solo llame a "invalidateCursorRects", que es un método NSWindow. –
@MottiShneor Llamar a [super resetCursorRects] dentro de -resetCursorRects no infringe la regla "nunca llamar a esto" ya que en realidad no la está invocando cuando se suponía que de todos modos. –
- 1. Log4Net + ¿Enviar correo electrónico cuando haya terminado?
- 2. Java LinkedBlockingQueue con la capacidad de señalizar cuando haya terminado?
- 3. NSButton con retraso NSMenu - Objective-C/Cocoa
- 4. Cocoa/Objective-C NSButton gestión de eventos?
- 5. Espere hasta que Application.Calculate haya terminado
- 6. Cambie el cursor en Windows Store Apps
- 7. ¿Cómo puedo esperar que haya terminado el modo interactivo?
- 8. Recibir notificaciones cuando la aplicación actual cambie en Cocoa
- 9. Cambie el cursor de texto/cursor en Visual Studio 2010
- 10. ¿Cambiar el color del cursor de texto (cursivo) en Cocoa?
- 11. Evento de incendio después de que MarkerClusterer haya terminado
- 12. función cuando el sonido ha terminado
- 13. Qt - cambie el cursor al reloj de arena y deshabilite el cursor
- 14. ¿Cómo se crea un NSButton temático personalizado?
- 15. NSButton + y - Botón
- 16. C# Winforms - cambie el icono del cursor del mouse
- 17. ¿Ocultar globalmente el cursor del mouse en Cocoa/Carbon?
- 18. NSButton sin "resaltar el clic"
- 19. Enfoque en TextBox cuando UserControl cambie Visibilidad
- 20. ¿Cómo salir de un módulo antes de que haya terminado de analizar?
- 21. Crear NSButton abrir panel de fuentes
- 22. Cómo detectar cuando un UIScrollView ha terminado de desplazarse
- 23. ¿Cómo se detecta cuando un archivo de sonido ha terminado?
- 24. ¿Actúa cuando un sonido ha terminado de reproducirse en AVAudioPlayer?
- 25. ¿Cómo saber cuando el objeto AudioTrack ha terminado de reproducirse?
- 26. Código para verificar cuando la página ha terminado de cargarse
- 27. Ajustar NSButton título
- 28. bordes NSButton se vuelve gris cuando se hace clic
- 29. de todos modos, cambie el cursor "línea vertical" en lugar de un cuadro?
- 30. ¿Puede eclipsar notificarme cuando una tarea ha terminado de ejecutarse?
De Apple documentos: _Este método está destinado a ser invocado solo por el método resetCursorRects. Si se invoca de otra forma, el rectángulo del cursor resultante se descartará la próxima vez que se reconstruyan los rectángulos del cursor de la vista. Entonces debes subclase NSButton. – Kentzo