Проверка перетаскивания в nscollectionView не отражена визуально

StackOverflow https://stackoverflow.com/questions/4198849

Вопрос

У меня есть nscollectionView, который я хочу принять элементы, перетащившие из моего приложения.

Я реализую collectionView:validateDrop:proposedIndex:dropOperation: а также collectionView:acceptDrop:index:dropOperation: В делегате CollectionView и зарегистрируйтесь для соответствующих перетаскиваемых типов. Оба метода называются нормально, когда я перетаскиваю соответствующие типы, но я не получаю синее фокусное кольцо над CollectionView, указывающим на действительное сопротивление.

Пробовали как представление об сборе, так и его содержащее представление прокрутки по умолчанию и внешние настройки для Focus Ring. Оба являются просто стандартными уроками какао. Интересно, было ли что -нибудь еще, что я должен попробовать. Конечно, нет необходимости для подкласса NscollectionView для этого?

Спасибо
Крис

Это было полезно?

Решение

Фокусные кольца, как правило, не являются правильным способом предоставления отзывов о направлениях сопротивления. Каждое представление делает это немного по -разному. NSTEXTVIEW показывает вставку. NstableView показывает синюю линию между рядами для Before сбросить операции и показывает рамку вокруг ряда On операции по снижению. (Видеть NSTableViewDropOperation)

NscollectionView показывает «разрыв» между существующими подвесами, чтобы показать, где будут отброшены элементы Before сбросить операции, и это установит selected свойство на nscollectionviewitem to YES за On операции по снижению. (Примечание: nscollectionViewItem ничего не делает по умолчанию, чтобы заметно представлять selected имущество. Вы должны реализовать это самостоятельно.)

Поскольку в обратной связи NscollectionView используются только существующие подписания, кажется, что нет никаких отзывов для пустых NSCOLECTECEVIEW. Вам нужно будет подкласс, чтобы обеспечить это поведение самостоятельно. Вы также можете подать ошибку, чтобы запросить, чтобы nscollectionView сделал это сам.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top