Pregunta

Estoy creando una subclase personalizada de NSPopUpButton y NSPopUpButtonCell muestre un icono en solitario en la parte superior del botón en lugar del texto habitual.

Para hacer esto que estoy reemplazando

- (void)drawInteriorWithFrame:(NSRect)cellFrame inView:(NSView *)controlView

en el botón de mi subclase celular para llamar a mi icono situado en el tamaño y la ubicación adecuada. Cuando el usuario se desplaza sobre el botón I a continuación, quieren cambiar la imagen. Mi único problema es que no puedo encontrar la manera de hacer que el remostrado pila de botón (llamando drawInterior ... otra vez). Por defecto sólo parece volver a mostrar cuando se hace clic en el botón o cuando el foco se mueve a otra ventana. He intentado setNeedsDisplay: Sí. Pero eso no parece hacerlo

¿Fue útil?

Solución

La manera que he encontrado para hacer esto era insertar una llamada a

[self updateCell:self.cell];

dentro de mi subclase NSPopUpButton inmediatamente después de cualquier punto que cambió la imagen mostrada por la célula.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top