Pregunta

Estoy tratando de hacer un botón desplegable que siempre muestra un + como su imagen y cuando se hace clic en él, un menú contextual que aparece le permitirá decidir qué tipo de objeto que desee agregar. ¿Hay alguna forma de hacer esto utilizando un NSPopupButton? Vi en las especificaciones de NSPopupButotn que el setImage método no tiene ningún efecto por lo que parece probable que esto no va a funcionar el uso de esta clase. ¿Es esto correcto?

¿Fue útil?

Solución

Sí, la apariencia visible de NSPopUpButton está mal para lo que quieres.

Lo que queremos es un NSButton regular con un menú adjunto. En el Interface Builder borrar el título, establecer el bisel de la plaza, la posición de la versión de icono único centro y la imagen de NSAddTemplate.

A continuación, crear una NSPopUpButton, ponerlo en "Pull Down", oculto, y alinearla / set su tamaño para el fondo de la NSButton.

Por último, performClick: de conexión en el NSButton a performClick: en el NSPopUpButton.

Eso no manejará un clic de retención en el botón; para eso se tendrá que escribir algo de código para utilizar un NSPopUpButtonCell (no dibujo).

Otros consejos

¿Por qué no utilizar un NSPopupButton? No parece correcto el uso de 2 botones para realizar una tarea lo hace más como se ha mencionado no se comporta de la manera normal en relación con la celebración en el botón.

Para obtener el botón emergente de trabajo cómo te gusta ... la ponemos a ser un tipo desplegable. No le dé el botón emergente en sí cualquier nombre o imagen. Si el botón emergente no tiene un nombre o la imagen a continuación, el primer elemento del menú se convierte en el título del botón. Los elementos del menú pueden tener imágenes así que no da el primer elemento de menú cualquier título, acaba de establecer su imagen y esa es la imagen que verá en el botón emergente. Para el resto de los elementos del menú, hay que añadirlas de forma normal después de que el primer elemento del menú. Tenga en cuenta que si se cambia mediante programación los elementos de menú en código, sólo asegúrese de dejar el primer elemento de menú en el tacto y todo va a estar bien. Lo hago en algunas de mis aplicaciones sin ningún problema.

La clave es usar NSPopUpButtonCell's setUsesItemFromMenu :. Los documentos de Apple incluyen un ejemplo de cómo utilizar este.

Un botón emergente toma la imagen y el título del primer elemento de menú en el menú asociado a él. Así que es mejor incluir la imagen, que desea que aparezca como botón de popup, como primer elemento del menú y luego ocultar su visibilidad.

Si usted no está claro todavía, entonces ir a través del siguiente vídeo una vez, seguramente le hará entender.

Este tutorial muestra cómo crear un elemento de la barra de herramientas (NSToolbarItem) con menús desplegables para NSToolbar en Interface Builder: Enlace

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