1

2 番目の tableHeaderView をオーバーライドしようとしました。しかし、メソッドheightForHeaderInSectionの高さは0のようです。説明できません。viewForHeaderInSectionで問題なくビューを設定できるため、iVarに入れる必要がありますか。

 - (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;
}
4

1 に答える 1

4

テーブルヘッダーと各セクションのヘッダーを混同していると思いますが、それらは異なります。「2番目のtableHeaderView」はありません。1UITableViewつあり、セクションごとにカスタムヘッダービューを配置するメソッドとメソッドにtableHeaderView依存します。それ以外の場合は、そこにテキストを配置するために使用します。viewForHeaderInSectionheightForHeaderInSectiontitleForHeaderInSection

于 2010-03-15T22:58:43.993 に答える