Frage

Ich habe eine NSCollectionView, dass ich will Artikel von anderswo in meiner Anwendung akzeptieren gezogen.

implementiere ich collectionView:validateDrop:proposedIndex:dropOperation: und collectionView:acceptDrop:index:dropOperation: in der Delegiertenkollektion und registrieren Sie sich für die entsprechenden Typen gezogen. Beiden Methoden erhalten genannt gut, wenn ich die entsprechenden Typen ziehen, aber ich habe nicht einen blauen Fokussierring über die Kollektion eine gültige Drag angibt.

versucht haben, sowohl die Sammlung Ansicht und die darin enthaltenen Bildlaufansicht auf Standard und Externe Einstellungen für den Fokusring. Beide sind nur die Standard-nicht-abgeleiteten Cocoa-Klassen. Fragte mich, ob es etwas anderes sollte ich versuchen. Sicherlich ist es nicht notwendig NSCollectionView für diese Unterklasse?

Danke
Chris

War es hilfreich?

Lösung

Fokusringe sind normalerweise nicht der richtige Weg, Feedback über Drag Ziele zu bieten. Jede Ansicht macht es etwas anders. NSTextView zeigt die Einführstange. NSTableView zeigt eine blaue Linie in zwischen den Reihen für Before Drop-Operationen, und weist eine Blende um die Zeile für On Drop-Operationen. (Siehe NSTableViewDropOperation)

NSCollectionView zeigt eine „Lücke“ zwischen den bestehenden Subviews zu zeigen, wo die Elemente für Before Drop-Operationen fallen gelassen wird, und es wird die selected Eigenschaft auf NSCollectionViewItem zu YES für On Drop-Operationen eingestellt. (Anmerkung:.. NSCollectionViewItem tut nichts standardmäßig sichtbar die selected Eigenschaft darstellen Sie, dass selbst implementieren müssen)

Da NSCollectionView Feedback Anwendungen Subviews bestehenden nur scheint es, gibt es keine Rückmeldung an alle für leere NSCollectionView ist. Sie müßten dieses Verhalten zu Unterklasse Ihrer Person zu machen. Sie könnten auch einen Fehler auf Antrag stellen, dass NSCollectionView dies selbst zu tun.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top