How to add checkboxes to UITableViewCell??
Make a unchecked and checked image..
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *CellIdentifier = @"Cell"; UITableViewCell *cell = [self.tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (cell == nil) { cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease]; } if ([selectedRowsArray containsObject:[contentArray objectAtIndex:indexPath.row]]) { cell.imageView.image = [UIImage imageNamed:@"checked.png"]; } else { cell.imageView.image = [UIImage imageNamed:@"unchecked.png"]; } UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleChecking:)]; [cell.imageView addGestureRecognizer:tap]; cell.imageView.userInteractionEnabled = YES; //added based on @John 's comment //[tap release]; cell.textLabel.text = [contentArray objectAtIndex:indexPath.row]; return cell;}- (void) handleChecking:(UITapGestureRecognizer *)tapRecognizer { CGPoint tapLocation = [tapRecognizer locationInView:self.tableView]; NSIndexPath *tappedIndexPath = [self.tableView indexPathForRowAtPoint:tapLocation]; if ([selectedRowsArray containsObject:[contentArray objectAtIndex:tappedIndexPath.row]]) { [selectedRowsArray removeObject:[contentArray objectAtIndex:tappedIndexPath.row]]; } else { [selectedRowsArray addObject:[contentArray objectAtIndex:tappedIndexPath.row]]; } [self.tableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:tappedIndexPath] withRowAnimation: UITableViewRowAnimationFade];}
One of the way I can think of is you do custom UITableViewCell (this tutorial is good for starting. This is another, similar one). Inside the custom UITableViewCell you need to put a UIButton there with a circle image. When user select the button, you change the image to the green circle