有人可以告诉我如何在选择时自动在UITableView中移动一行。
为了更清楚我的tableview有很多项目。当用户选择一行时,该行必须移动到UITableView中最底部的行。
任何代码片段或指针都会受到赞赏。
由于
答案 0 :(得分:1)
您可以使用表视图委托方法来执行此操作。 要获得所选行,您可以使用
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
这将有助于您了解移动行。
答案 1 :(得分:1)
选择行时修改数据,可能是您的数组并重新加载表视图。 即 在你的
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
获取indexpath并从数据源数组中删除该数据,并将该值放在最后一个数据源数组中,最后使用
重新加载tableview [tableview reloadData];
答案 2 :(得分:1)
使用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];
}