2009-01-26 12 views
8

Me pregunto cómo hacer que un botón o campo de entrada en Interface Builder reaccione de tal manera que al hacer clic se abre un cuadro de diálogo de archivo y le permite seleccionar uno o más archivos y los coloca en una matriz/tabla especificada ...¿Cómo agregar un selector/abridor de archivos en cacao con Interface Builder?

Una vez que se presiona el botón y se eligen los archivos (esto parece bastante trivial) supongo que ya contiene algún tipo de matriz (como una matriz con rutas a los archivos seleccionados) así que lo tengo cubierto Solo necesito saber cómo vincular el botón a un selector de archivos y de qué manera el selector de archivos me entrega los archivos (o las rutas a los archivos) para que pueda redirigirlos al arreglo

¿Hay alguna manera fácil de hacer esto, y más importante aún; ¿Hay una cosa de selector de archivos o tengo que hacer esto con XCode en lugar de Interface Builder?

gracias ...

ps. Lo siento si este no es el sitio correcto para hacer estas preguntas

Respuesta

9

Esto debe hacerse en Xcode. El código here debería funcionar bien.

Simplemente enganche el botón con un método utilizando IB y use ese ejemplo como una guía de lo que debe poner en el método.

También hay todo tipo de buena ayuda WRT NSOpenPanel en Cocoadev, que incluye consejos para abrir el panel como una hoja en lugar de una ventana modal.

Por supuesto, siempre debe leer el Apple documentation también.

+0

El enlace del código que se proporciona aquí usa las API en desuso. Mire @archieoi Answer para obtener un código más actualizado. –

+1

Los enlaces no son respuestas. –

5

Interface Builder es para diseñar y vincular la interfaz. Desea abrir archivos y ponerlos en una matriz, que está segura en el lado Xcode. Haga que la acción del botón muestre un NSOpenPanel y dé los resultados a la fuente de datos de su tabla.

7

Encontré esta página al buscar, cómo abrir un cuadro abrir archivo en Cocoa. Con el lanzamiento de OS X 10.7, muchas de las muestras que están vinculadas ahora están en desuso. Por lo tanto, here is some sample code que le guardará algunas advertencias del compilador.

+1

¡Gracias! Funcionó. –

+0

Ese enlace ya no es válido. – smacdonald

+1

Los enlaces no son respuestas. Incluye el código real. –

Cuestiones relacionadas