После выбора строки вы должны взять ячейку и создать свое собственное вспомогательное представление с этой ячейкой:
UITableViewCell * cell = [self.tableView cellForRowAtIndexPath:indexPath];
BOOL bSelected = YES;
[self createAccessoryView:cell :bSelected];
Обратите внимание, однако, что bSelected
bool в идеале должно исходить из вашего модельного массива, массива, которыйсодержит ваши объекты просмотра таблицы.При выборе строки, он просто отрицает свое значение, например:
bSelected = !bSelected;
Ваш createAccessoryView
будет выглядеть примерно так:
- (void) createAccessoryView : (UITableViewCell *) cell :(BOOL)bSelected
{
UIImage * image = bSelected ? [UIImage imageNamed:@"check"] : [UIImage imageNamed:@"uncheck"];
cell.accessoryType = UITableViewCellAccessoryNone;
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
CGRect frame = CGRectMake(0.0, 0.0, 40, 40);
button.frame = frame;
[button setBackgroundImage:image forState:UIControlStateNormal];
//Uncomment below line if necessary
//[button addTarget:self action:@selector(accessoryButtonTapped:event:) forControlEvents:UIControlEventTouchUpInside];
button.backgroundColor = [UIColor clearColor];
cell.accessoryView = button;
}
Конечно, подставьте свои собственные имена изображенийвыше.
Если вам нужна дополнительная функциональность в табличном представлении с некоторыми готовыми настройками (поиск, выбор, удаление), взгляните на этот ViewController , разработанный мной на github.