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

Изменение высоты таблицыHeaderView скрывает ячейки

В моем UITableView у меня есть tableHeaderView, который должен изменить размер в соответствии с содержимым. Изменение размера работает отлично, однако tableHeaderView скрывает первую пару ячеек. Очевидно, изменение фрейма таблицыHeaderView не реорганизует остальную часть представления.

Я уже пробовал звонить [self.tableView layoutSubViews] и [self.tableView setNeedsLayout], но это тоже не помогает. Также попробовал предоставить tableHeaderView из Interface Builder выход для изменения фрейма на нем, но это также не реорганизовывает tableView.

Как я могу изменить размер tableHeaderView, не скрывая никаких ячеек, реорганизовывая остальную часть tableView?

4b9b3361

Ответ 1

Я не знаю, как вы создали UITableView, но я попытался создать его с помощью tableHeaderView, как вы и его изменение размера.

Я создал класс, наследующий от UITableViewController

@interface MyTableViewController : UITableViewController {

}

@end

и для реализации, в viewDidLoad, я добавил:

UIView *header = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 100)];
[header setBackgroundColor:[UIColor redColor]];
self.tableView.tableHeaderView = header;

enter image description here

Ответ 2

Попробуйте настроить свойство tableHeaderView UITableView после изменения размера вашего контента.

[self.tableView setTableHeaderView:self.myResizedTableHeaderView];

Решил проблему для меня. Надеюсь, что это поможет.