Высота tableHeaderView кажется равной 0 - PullRequest
1 голос
/ 16 марта 2010

Я попытался переопределить второй 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;
}

1 Ответ

4 голосов
/ 16 марта 2010

Я думаю, что вы путаете заголовок таблицы и заголовок для каждого раздела, они разные. Не существует «второго tableHeaderView», a UITableView имеет один tableHeaderView, а затем зависит от методов viewForHeaderInSection и heightForHeaderInSection для размещения пользовательских представлений заголовка для каждого раздела, в противном случае вы просто используете titleForHeaderInSection для размещения текста там .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...