Подтвердить что ты не робот

UITableView Прокрутите к разделу

Возможно ли прокручиваться до раздела вместо строки? Если да, то как?

Btw. Я использую метод для удаления плавающих заголовков.

Вот код, который я использую, чтобы перейти к первой строке выбранных разделов.

if (self.openSectionIndex != NSNotFound) {
    [self.tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:section] atScrollPosition:UITableViewScrollPositionTop animated:YES];
}

это код для удаления плавающих заголовков

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    if (self.openSectionIndex != NSNotFound) {
        if (scrollView.contentOffset.y<=DEFAULT_HEADER_HEIGHT&&scrollView.contentOffset.y>=0) {
            scrollView.contentInset = UIEdgeInsetsMake(-scrollView.contentOffset.y, 0, 0, 0);
        } else if (scrollView.contentOffset.y>=DEFAULT_HEADER_HEIGHT) {
            scrollView.contentInset = UIEdgeInsetsMake(-DEFAULT_HEADER_HEIGHT, 0, 0, 0);
        }
    }
}

Это как-то то, что я хочу, но я бы предпочел также показать заголовок.

В настоящий момент заголовок скрыт в верхней части экрана.

4b9b3361

Ответ 1

Вместо scrollToRowAtIndexPath используйте scrollRectToVisible. Точное позиционирование можно получить, передав прямоугольник с размером, аналогичным представлению таблицы.

Итак, если вы хотите, чтобы ваш заголовок располагался точно вверху, используйте рамку заголовка, установив высоту в качестве высоты в виде таблицы, а затем передайте ее на scrollRectToVisible.