Pregunta

Tengo una aplicación aquí que necesita leer en un montón de datos de un archivo externo y mostrarlo como un NSPopUpButton En una interfaz de usuario de cacao. La captura aquí es que los datos en los que se leen deben tener una bandera que indique si se considera "oculta" o no.

Si los datos están ocultos, debe agregarse al NSPopUpButton como NSMenuItem, pero el hidden La bandera debe estar configurada en YES Entonces normalmente no aparece en el NSPopUpButton menú. Si el usuario contiene una "tecla mágica" en su teclado (generalmente alt, en este caso), entonces esos objetos ocultos deben estar sin seres hididos. Si el usuario deja ir a la tecla ALT, entonces deben volver a ocultarse automáticamente, excepto el que puede haber sido seleccionado, lo que se ocultaría si se ocultaría otro NSMenuItem fueron escogidos.

Estoy pasando mucho tiempo para resolver esto, en realidad.

Me preguntaba si hay una forma directa de hacer esto usando NSArrayController y un NSPopUpButton, pero hasta ahora no he podido encontrar nada parecido a una solución, no cuando se trata de administrar la propiedad oculta del NSMenuItem objetos.

¿Alguien sabe cómo se puede lograr esto usando ataduras de cacao?

¿Fue útil?

Solución

Puede conectar la ventana emergente a un controlador de matriz y alterar el predicado del filtro. Desde el punto de vista del diseño de MVC, no utilizaría un atributo como "oculto", que es una característica de vista, pero tal vez "avanzada". Normalmente, establezca un predicado de filtro en su controlador de matriz en "avanzado = no". Luego, cuando el usuario mantenga su modificador preferido, retire el predicado. La ventana emergente se actualizará automáticamente. El controlador de matriz debe estar vinculado a una propiedad de matriz en otro objeto (en su modelo de datos). La ventana emergente debe estar vinculada a organizados en el controlador de matriz.

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