MikeN
MikeN

Reputation: 46417

On iPhone Objective C, How do you catch the event of a row in a table being selected?

I have a data table filled with text in each table row. How do I attach to the event for the row being selected and know which row was selected?

Upvotes: 0

Views: 309

Answers (2)

Shaggy Frog
Shaggy Frog

Reputation: 27601

The object that is the UITableViewDelegate for your UITableView (usually the view controller that owns the table view) just needs to implement the tableView:didSelectRowAtIndexPath: method. You can get the column and row from the parameter passed in. Be sure to conform to the Apple HIG and deselect the row in this method.

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSUInteger section = [indexPath section];
    NSUInteger row = [indexPath row];

    // do something here

    [tableView deselectRowAtIndexPath:indexPath animated:YES];
}

Upvotes: 3

user120587
user120587

Reputation:

Your UITableViewDelegate should implement the tableView:didSelectRowAtIndexPath: which will be called whenever a row is selected

You can get the section and row that were selected form the indexPath passed into the method with

[indexPath row];
[indexPath section];

See more under the UITableViewDelegate protocol reference

Upvotes: 1

Related Questions