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 回答