PXListView を管理するための NSViewController を作成しました....デリゲートはファイル所有者と接続しています...
ここでは、すべてが期待どおりに機能しています..ドラッグアンドドロップを除いて...
ドラッグ中はドラッグデリゲート機能に入っていません...そしてドラッグ中は+記号を表示していません(つまり、記号をドラッグしています)...そしてセルをドラッグすると元の位置に再配置されます
#import "PXListView.h"
@interface ListViewController : NSViewController <PXListViewDelegate>
{
IBOutlet PXListView *listView;
NSMutableArray *_listItems;
int count;
}
- (void)addCell;
@end
- (BOOL)listView:(PXListView*)aListView writeCellsWithIndexes:(NSIndexSet*)rowIndexes toPasteboard:(NSPasteboard*)dragPasteboard
{
// +++ Actually drag the items, not just dummy data.
[dragPasteboard declareTypes: [NSArray arrayWithObjects: NSStringPboardType, nil] owner: self];
[dragPasteboard setString: @"Just Testing" forType: NSStringPboardType];
return YES;
}
- (NSDragOperation)listView:(PXListView*)aListView validateDrop:(id <NSDraggingInfo>)info proposedCell:(NSUInteger)row
proposedDropHighlight:(PXListViewDropHighlight)dropHighlight;
{
return NSDragOperationCopy;
}
- (BOOL)listView:(PXListView*)aListView acceptDrop:(id <NSDraggingInfo>)info row: (NSUInteger)row dropHighlight:(PXListViewDropHighlight)dropHighlight
{
NSLog(@"Accept Drop");
ListViewThumbnailObject *temp = [_listItems objectAtIndex: [listView selectedCell]];
[_listItems removeObjectAtIndex: [listView selectedCell]];
[_listItems insertObject: temp atIndex: row];
[listView reloadData];
return YES;
}
ドラッグ関連のデリゲート メソッドには入っていません。
「nib」ファイルデリゲートでは、ファイル所有者に関連付けられています...
誰でもこの問題を解決する方法を教えてもらえますか?
ありがとう、ムトゥ