Tengo una aplicación simple que maneja información de marketing. Lo que hice fue llamar aAceptación de archivos arrastrados en una aplicación Cocoa
NSInteger result = [openPanel runModalForDirectory:nil file:nil types:fileTypes];
Cuando el usuario hace clic en el menú File->Open
. Ahora me pidieron que agregue funciones de arrastrar y soltar a la aplicación para que el usuario pueda arrastrar un archivo hacia ella en lugar de tener que ir al menú o presionar el comando + o para abrir un archivo.
Antes de que me diga ir a leer la documentación Ya reviso el Intro to drag and drop de Apple y otros documentos. Aún así no puedo entender qué hacer.
Soy un viejo programador de Unix C que necesito copiar con esto y algunas de las suposiciones en el documento de Apple no tienen sentido para mí.
En pocas palabras, ¿qué necesito para añadir a mi aplicación a:
- poder arrastrar y soltar
- manija que arrastraba archivo
Como nota, debería manejar una sola archivo a la vez.
Gracias por la ayuda
Ok, gracias por la información. Cuando coloco '[self registerForDraggedTypes: [NSArray arrayWithObject: NSFilenamesPboardType]];' a 'awakeFromNib' obtengo una excepción yy: *** Aplicación de terminación debido a excepción no detectada 'NSInvalidArgumentException', razón: '- [MyAppAppDelegate registerForDraggedTypes:] : selector no reconocido enviado a la instancia 0x100141330 ' –
Oh, también agregando '[self registerForDraggedTypes: [NSArray arrayWithObject: NSFilenamesPboardType]];' me da una advertencia: Método -registerForDraggedTypes no encontrado –
Debe llamar a ese método en la ventana o ver eso aceptando drags. Prefiero llamarlo desde la ventana en sí, en 'awakeFromNib' en mi subclase NSWindow. –