У меня есть UITableView в качестве подвид представления. В ViewController, когда заполняется таблица, я выделяю одну из строк и сохраняю запись indexPath для этой строки. Я делаю это в методе cellforRowAtIndexPath.UITableView ScrollToRowAtIndexPath метод не работает
-(UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
favouriteCellView *cell = [tableView dequeueReusableCellWithIdentifier:@"reuseID"];
QBCOCustomObject *favouriteObject = [_favouriteResults objectAtIndex:indexPath.row];
if (favouriteObject.userID == self.user.ID) {
UIView *bgColor = [[UIView alloc] init];
bgColor.backgroundColor = [UIColor colorWithRed:173.0f/255.0f green:146.0f/255.0f blue:237.0f/255.0f alpha:.5];
self.highlightedRowIndex = indexPath;
[cell setSelectedBackgroundView:bgColor];
[tableView selectRowAtIndexPath:indexPath animated:NO scrollPosition:UITableViewScrollPositionMiddle];
}
return cell;
}
Тогда в методе viewDidAppear я хочу таблицу для перехода к выделенной ячейке.
-(void)viewDidAppear:(BOOL)animated{
[self.tableView scrollToRowAtIndexPath:self.highlightedRowIndex atScrollPosition:UITableViewScrollPositionTop animated:YES];
}
Однако я проверил, что метод удара с точки останова, но, к сожалению, выделенная строка не прокручивается в верхней части таблицы, как я ожидал. AM Я неправильно понимаю метод scrollToRowAtIndexPath? Или я оставил что-то из вышеуказанного кода.
Это прекрасно работает и хорошо объяснено. Спасибо! –