おそらく私は作っている間違いがありますが、最も基本的な方法でも動作するようにNSCollectionViewにファイルをドロップすることはできません。NSCollectionViewにドラッグアンドドロップできない
テストプロジェクトでは、ウィンドウにNSCollectionViewがあり、ビューコントローラはそのデリゲートとデータソースの両方です。 Finderからこのコレクションビューにファイルをドラッグできます。ドキュメントを読んでから、
、私がしなければならない必要があるすべては次のようになります。その後、
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
NSLog(@"Registering dragged types for collection view: %@", self.collectionView);
[self.collectionView registerForDraggedTypes:@[NSFilenamesPboardType]];
[self.collectionView setDraggingSourceOperationMask:NSDragOperationEvery forLocal:YES];
[self.collectionView setDraggingSourceOperationMask:NSDragOperationEvery forLocal:NO];
}
し、実装これらの2つの方法:
-(NSDragOperation)collectionView:(NSCollectionView *)collectionView validateDrop:(id<NSDraggingInfo>)draggingInfo proposedIndex:(NSInteger *)proposedDropIndex dropOperation:(NSCollectionViewDropOperation *)proposedDropOperation {
NSLog(@"Validate drop: %@", draggingInfo);
return NSDragOperationMove;
}
-(BOOL)collectionView:(NSCollectionView *)collectionView acceptDrop:(id<NSDraggingInfo>)draggingInfo index:(NSInteger)index dropOperation:(NSCollectionViewDropOperation)dropOperation {
NSLog(@"Accept drop: %@", draggingInfo);
return YES;
}
ドラッグタイプ(複数可)について
登録しかし、コレクションビューにアイテムをドラッグしようとすると、2つのメソッドのどれも呼ばれることはなく、registerForDraggedTypes:
コールが期待どおりに機能していないと思うようになります。
ここで問題になるのは何ですか?何を調べなければなりませんか?
重複(http://stackoverflow.com/q/42329390/4244136) – Willeke