перетаскивание в PXListView не работает в демонстрационном приложении. как это исправить?

я работаю с 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;
}

может ли кто-нибудь помочь мне решить эту проблему?

Спасибо и с уважением, Мутху


person mammaiap    schedule 22.01.2013    source источник


Ответы (1)


Вот ваше решение. Возможно, вы захотите его немного подправить, но он выполняет свою работу.

- (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;
}
person Richard Williamson    schedule 22.01.2013