einen Widerstand zu einem NSCollectionView Validieren nicht visuell reflektiertes
-
11-10-2019 - |
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
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.