Перетаскивание в примере NSCollectionView - PullRequest
4 голосов
/ 22 января 2011

Мне нужно перетащить в NSCollectionView.

Итак, я посмотрел пример кода Apple: https://developer.apple.com/library/mac/#samplecode/IconCollection/Introduction/Intro.html

Существует метод перетаскивания. Но это не работает.

Я добавил следующий метод без результата:

-(BOOL) collectionView:(NSCollectionView *)collectionView canDragItemsAtIndexes:(NSIndexSet *)indexes withEvent:(NSEvent *)event {
    return YES;
}

Делегат настроен.

Кто-нибудь знает решение?

Ответы [ 3 ]

4 голосов
/ 28 марта 2012

Вам нужно сделать две вещи: убедитесь, что ваш выбор включен в NSCollectionView, и реализовать

- (BOOL)collectionView:(NSCollectionView *)collectionView writeItemsAtIndexes:(NSIndexSet *)indexes toPasteboard:(NSPasteboard *)pasteboard

Нет необходимости реализовывать collectionView:(NSCollectionView *)collectionView canDragItemsAtIndexes:(NSIndexSet *)indexes withEvent:(NSEvent *)event, если только вам не нужна переменная перетаскиваемость. Если вы его не реализуете, представление коллекции будет пытаться запустить перетаскивание для каждого элемента в коллекции.

3 голосов
/ 23 января 2011

Уже работает.

Вам нужно будет нажать, подождать до одной секунды.После секпри щелчке тащится ...

-.-

0 голосов
/ 29 апреля 2011

Вы можете просто реализовать перетаскивание в прототипе представления элемента коллекции. Каждый NSView поддерживает перетаскивание, если вы реализуете необходимые методы в своем подклассе.

...