Am I correct in thinking that to change the checkmark for "on" to "off", I must change the CellAccessoryType
between none
and checkmark
on the didSelectRowAtIndexPath
?
Because I have done this but I have noticed the behaviour is not perfectly identical to like the checkmark cells on the auto lock settings on the iphone.
Or is there some other way checkmarks are meant to be handled?
Keep a property in your view controller called selectedRow
, which represents the index of a row that represents the checked item in a table section.
In your view controller's -tableView:cellForRowAtIndexPath:
delegate method, set the accessoryType
of the cell
to UITableViewCellAccessoryCheckmark
if the cell's indexPath.row
equals the selectedRow
value. Otherwise, set it to UITableViewCellAccessoryNone
.
In your view controller's -tableView:didSelectRowAtIndexPath:
delegate method, set the selectedRow
value to the indexPath.row
that is selected, e.g.: self.selectedRow = indexPath.row