2010-02-06 8 views
4

J'ai un NSTableView et j'ai implémenté avec succès à la fois tableView:validateDrop:proposedRow:proposedDropOperation: et tableView:acceptDrop:row:dropOperation:.Drop sur Comportement NSTableView

Je n'ai pas besoin de tableView:writeRowsWithIndexes:toPasteboard: car c'est pour glisser des objets hors de NSTableView.

Maintenant, le problème est que je veux qu'il se comporte comme un iTunes. Dans iTunes 9.x (je ne m'en souviens pas pour les versions précédentes) vous avez un NSTableView (la playlist) et quand vous faites glisser un fichier dessus, vous obtenez ce focus bleu dans NSTableView (peut-être c'est NSScrollView?) Et vous ne pas avoir la ligne horizontale bleue qui indique où vous allez insérer un objet. Donc, fondamentalement, je voudrais:

  • Aucune ligne d'insertion horizontale bleue entre les lignes lors du survol d'un fichier sur le NSTableView.

  • Le focus bleu à l'intérieur de NSTableView (ou NSScrollView).

Toute aide serait grandement appréciée, merci d'avance.

Répondre

7

De l'Mac Dev Center

- (void)setDropRow:(NSInteger)row dropOperation:(NSTableViewDropOperation)operation 

....

« Le passage d'une valeur de -1 pour la ligne et NSTableViewDropOn que l'opération provoque l'affichage du tableau entier à être mis en évidence plutôt que d'une ligne spécifique Ceci est utile si les données affichées par le récepteur ne permettent pas à l'utilisateur de déposer des éléments à un emplacement de ligne spécifique "

+0

Merci. Désolé de superviser une partie importante de la documentation d'Apple. – Jef