Pregunta

Tengo una NSCollectionView que quiero aceptar artículos sacados de mi solicitud en otro lugar.

Me implementar collectionView:validateDrop:proposedIndex:dropOperation: y collectionView:acceptDrop:index:dropOperation: en el delegado del vistacoleccion y registrarse para el adecuado arrastró tipos. Ambos métodos consiguen llaman bien cuando me arrastra los tipos apropiados, pero no reciben un anillo de enfoque azul sobre el vistacoleccion que indica una carga válida.

intentado tanto la vista de colección que contiene y su punto de vista de desplazamiento en defecto y externos ajustes para el anillo de enfoque. Ambos son sólo las clases de cacao no derivados estándar. Se preguntó si había algo más que deba tratar. Sin duda, no es necesario subclase NSCollectionView para esto?

Gracias
Chris

¿Fue útil?

Solución

anillos de enfoque no son por lo general la forma correcta para proporcionar información acerca de los destinos de arrastre. Cada punto de vista lo hace de forma ligeramente diferente. NSTextView muestra la barra de inserción. NSTableView muestra una línea azul en entre filas para las operaciones de gota Before, y muestra un bisel alrededor de la fila para operaciones de gota On. (Ver NSTableViewDropOperation)

NSCollectionView muestra una "brecha" entre subvistas existentes para mostrar dónde se colocará los elementos para las operaciones de caída Before, y va a establecer la propiedad selected en NSCollectionViewItem a YES para las operaciones de caída On. (Nota:.. NSCollectionViewItem no hace nada por defecto para representar visiblemente la propiedad selected Debe implementar que usted mismo)

Dado que utiliza la retroalimentación de NSCollectionView subvistas que sólo existe, parece que no hay ninguna respuesta en absoluto para vacío de NSCollectionView. Usted tendría que subclase para proporcionar este comportamiento sí mismo. También podría presentar un error a la solicitud que NSCollectionView hacer esto en sí.

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