2011-09-03 7 views
12

Hola Implementé un NSPopover en una de mis aplicaciones, pero el popover no se cerrará. Supongo que debería cerrarse una vez que haga clic en otra cosa, pero no es así. Sé que hay una acción de popover cercana, pero eso solo funciona para un botón diferente. ¿Cómo puedo hacer para ver si el popover está abierto y cuándo está abierto para cerrar el popover cuando presiono el mismo botón?¿Cómo tomar medidas para cerrar NSPopover?

+0

Descubrí cómo hacerlo. Primero haga clic en Popover en Interface Builder en xCode 4, luego vaya a la sección de atributos en la barra lateral y cambie el comportamiento del popover a Transient en lugar de a la definición predeterminada de la aplicación. ¡Esto debería hacerlo desaparecer! – sridvijay

+3

Consideraciones para resolver su problema, pero es mucho mejor proporcionar respuestas, incluso si está respondiendo su propia pregunta, proporcionando una respuesta real. Haga clic en el botón "Responder su pregunta" a continuación. Además, esta pregunta está muy mal etiquetada. Considere agregar una o dos etiquetas que se relacionen con la plataforma o el idioma que está preguntando. ¡Esto ayudará a otros que tengan su misma pregunta a encontrar la respuesta que usted resolvió! – SingleNegationElimination

+0

¡Gracias, acabo de agregar otra respuesta y agregué algunas etiquetas más! – sridvijay

Respuesta

23

¡Resolví el problema!

  • Primero, continúe y haga clic en su archivo .xib.
  • Donde vea el propietario del primer cuadro de respuesta y archivos - haga clic en el popover.
  • En la barra lateral, vaya al centro de atributos
  • ¡Cambie el comportamiento de Definido por aplicación a Transitorio y debería funcionar!

Eso debería hacer desaparecer el popover una vez que alguien ha hecho clic fuera del popover.

Otra forma de cerrar el popover es tener un botón separado. Simplemente agrega otro NSButton y luego vincúlalo al popover en la barra lateral y configúralo en Acciones Recibidas -> ejecutar cerrar:

+2

Además, si selecciona Semi-transitorio, su primer clic fuera del popover cerrará el popover y se registrará con la vista debajo de él (es decir, si hace clic directamente en un botón en otra vista, el popover se cerraría y el botón sería presionado.) –

Cuestiones relacionadas