Высота tableHeaderView кажется равной 0
-
20-09-2019 - |
Вопрос
Я попытался переопределить второй tableHeaderView.Но кажется, что его высота в методе heightForHeaderInSection, по-видимому, равна 0.Не могу объяснить это, должен ли я поместить это в iVar, потому что в viewForHeaderInSection я могу установить представление без каких-либо проблем.
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
if(section == 0)
return @"Adding a new list";
else
return @"Other lists";
}
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
if(section == 0) {
return tableView.tableHeaderView;
} else {
UIView *view = [[[UIView alloc] initWithFrame:CGRectMake(10, 10, 100, 50)] autorelease];
view.backgroundColor = [UIColor redColor];
return view;
}
}
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
if(section == 0)
return tableView.tableHeaderView.frame.size.height;
else
return 30;
}
Решение
Я думаю, вы путаете заголовок таблицы и заголовок для каждого раздела, они разные.Нет "второго tableHeaderView", a UITableView
имеет один tableHeaderView
и тогда зависит от viewForHeaderInSection
и heightForHeaderInSection
методы для размещения пользовательских представлений заголовка для каждого раздела, в противном случае вы просто используете titleForHeaderInSection
чтобы разместить там текст.
Не связан с StackOverflow