有人可以告诉我如何在选定时自动在UITableView中移动行。

更清楚地说,我的表视图包含许多项。当用户选择一行时,该行必须移动到UITableView中最底部的行。

任何代码段或指针将不胜感激。

谢谢

最佳答案

使用UITableViewDelegate协议中的方法

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    NSUInteger index = indexPath.row;
    NSUInteger lastIndex = tableDataArray.count - 1;

    if (index == lastIndex) {
        return;
    }

    id obj = [[tableDataArray objectAtIndex:index] retain];
    [tableDataArray removeObjectAtIndex:index];
    [tableDataArray addObject:obj];
    [obj release];

//// without animation
    [tableView reloadData];

//// with animation
//    [tableView beginUpdates];
//    [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationBottom];
//    [tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:[NSIndexPath indexPathForRow:lastIndex inSection:0]] withRowAnimation:UITableViewRowAnimationTop];
//    [tableView endUpdates];
}

10-08 05:55