0

私はPXListViewで作業しており、PXListView内にあるデモアプリでテストしています...ドラッグアンドドロップを実行しているときに正しく機能しません...ドロップが機能しません...

次のデリゲート メソッドを追加しました...しかし、正しい行にまだドロップが発生していません...元の行に再配置されます...

    - (BOOL)listView:(PXListView*)aListView writeRowsWithIndexes:(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 proposedRow:(NSUInteger)row
                            proposedDropHighlight:(PXListViewDropHighlight)dropHighlight;
{
    return NSDragOperationCopy;
}

- (BOOL)listView:(PXListView*)aListView acceptDrop:(id <NSDraggingInfo>)info row:(NSUInteger)row dropHighlight:(PXListViewDropHighlight)dropHighlight
{
    return NO;
}

誰でもこの問題を解決するのを手伝ってもらえますか?

よろしくお願いします、ムトゥ

4

1 に答える 1

0

これがあなたの解決策です。少し微調整したいかもしれませんが、それでうまくいきます。

- (BOOL)listView:(PXListView*)aListView acceptDrop:(id <NSDraggingInfo>)info row:   (NSUInteger)row dropHighlight:(PXListViewDropHighlight)dropHighlight
{
     NSLog(@"Accept Drop");
     NSString *temp = [_listItems objectAtIndex: [listView selectedRow]];
     [_listItems removeObjectAtIndex: [listView selectedRow]];
     [_listItems insertObject: temp atIndex: row];
     [listView reloadData];
     return NO;
}
于 2013-01-22T21:12:28.743 に答える