Neelesh
Neelesh

Reputation: 3693

Move row to bottom automatically when selected UITableView

Can someone tell me how to move a row in UITableView automatically when selected.

To be more clearer my tableview has a number of items. When the users selects a row that row has to be moved to the bottom most row in UITableView.

Any code snippets or pointers would be appreciated.

Thanks

Upvotes: 2

Views: 1902

Answers (3)

hoha
hoha

Reputation: 4428

Use a method from UITableViewDelegate protocol

- (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];
}

Upvotes: 1

Kshitiz Ghimire
Kshitiz Ghimire

Reputation: 1716

when the row is selected modify your datasouce ,may be your array and reload table view. ie in your

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

get you indexpath and remove that data from your datasource array and place that value in your last of your data source array and finally reload tableview using

 [tableview reloadData];

Upvotes: 1

visakh7
visakh7

Reputation: 26400

You can use the table view delegate methods to perform this. To obtain the selected row u can use

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

This will help you to get an idea on moving rows.

http://developer.apple.com/library/ios/#documentation/userexperience/conceptual/TableView_iPhone/ManageReorderRow/ManageReorderRow.html

Upvotes: 1

Related Questions