Как уже отмечали другие, вы можете программно выбрать ячейку, используя этот метод:
[tableView selectRowAtIndexPath:indexPath animated:NO scrollPosition:UITableViewScrollPositionNone];
Однако вы должны быть осторожны , чтобы не вызывать этот метод слишком рано.
В первый раз, когда контроллер представления, содержащий упомянутый tableView
, равен initialized
, самый ранний, который вы должны вызвать этот метод, находится в пределах viewDidAppear:
.
Итак, вы должны сделать что-то вроде этого:
- (void)viewDidAppear:(BOOL)animated
{
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0]; // set to whatever you want to be selected first
[tableView selectRowAtIndexPath:indexPath animated:NO scrollPosition:UITableViewScrollPositionNone];
}
Если вы попытаетесь поместить этот вызов в viewDidLoad
, viewWillAppear:
или любые другие ранние вызовы жизненного цикла просмотра, он, скорее всего, не будет работать или иметь странные результаты (например, прокрутка до правильной позиции, новыбрав ячейку).