UITableView tableView didSelectRowAtIndexPath
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
Parameters of [UITableView tableView didSelectRowAtIndexPath]
tableView
A table-view object informing the delegate about the new row selection.
indexPath
An index path locating the new selected row in tableView.
Discussion of [UITableView tableView didSelectRowAtIndexPath]
The delegate handles selections in this method. One of the things it can do is exclusively assign the check-mark image (UITableViewCellAccessoryCheckmark) to one row in a section (radio-list style). This method isn’t called when the editing property of the table is set to YES (that is, the table view is in editing mode). See "“Managing Selections”" in Table View Programming Guide for iOS for further information (and code examples) related to this method.
UITableView tableView didSelectRowAtIndexPath example.
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
NSString *cellText = cell.textLabel.text;
[myArray addObject:cellText];
}
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
NSString *cellText = cell.textLabel.text;
[myArray addObject:cellText];
}
Example of [UITableView tableView didSelectRowAtIndexPath].
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
DetailViewController *detail = [[DetailViewController alloc]initWithNibName:@"DetailViewController" bundle:nil];
UIView *headerView = (UIView *)[self tableView:tableView viewForHeaderInSection:indexPath.section];
UILabel *dateLbl = (UILabel *) [headerView viewWithTag:1];
UILabel *yrLbl = (UILabel *)[headerView viewWithTag:2];
detail.titleStrng = dateLbl.text;
detail.TimeString = yrLbl.text;
[self.navigationController pushViewController:detail animated:YES];
}
{
DetailViewController *detail = [[DetailViewController alloc]initWithNibName:@"DetailViewController" bundle:nil];
UIView *headerView = (UIView *)[self tableView:tableView viewForHeaderInSection:indexPath.section];
UILabel *dateLbl = (UILabel *) [headerView viewWithTag:1];
UILabel *yrLbl = (UILabel *)[headerView viewWithTag:2];
detail.titleStrng = dateLbl.text;
detail.TimeString = yrLbl.text;
[self.navigationController pushViewController:detail animated:YES];
}
UITableView tableView didSelectRowAtIndexPath example.
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
//This toggles the checkmark
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
if (cell.accessoryType == UITableViewCellAccessoryNone)
{
cell.accessoryType = UITableViewCellAccessoryCheckmark;
//This sets the array
[checkedIndexPaths replaceObjectAtIndex:indexPath.row withObject:[NSNumber numberWithBool:YES]];
} else
{
cell.accessoryType = UITableViewCellAccessoryNone;
//This sets the array
[checkedIndexPaths replaceObjectAtIndex:indexPath.row withObject:[NSNumber numberWithBool:NO]];
}
}
{
//This toggles the checkmark
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
if (cell.accessoryType == UITableViewCellAccessoryNone)
{
cell.accessoryType = UITableViewCellAccessoryCheckmark;
//This sets the array
[checkedIndexPaths replaceObjectAtIndex:indexPath.row withObject:[NSNumber numberWithBool:YES]];
} else
{
cell.accessoryType = UITableViewCellAccessoryNone;
//This sets the array
[checkedIndexPaths replaceObjectAtIndex:indexPath.row withObject:[NSNumber numberWithBool:NO]];
}
}