在UITableView标头的标头中添加UIButton

时间:2010-10-05 17:35:57

标签: iphone uitableview

我需要在动态填充的UIViewTable上方放置一个按钮。不填充第一个单元格(第0行)感觉是正确的,而是使用标题区域,因此我使用UITableViewDelegate方法以编程方式创建包含UIButton的UIView:

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{        
    UIView *headerView = [[[UIView alloc] initWithFrame:CGRectMake(0,0, 320, 44)] autorelease]; // x,y,width,height

    UIButton *reportButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];    
    reportButton.frame = CGRectMake(80.0, 0, 160.0, 40.0); // x,y,width,height
    [reportButton setTitle:@"rep" forState:UIControlStateNormal];
    [reportButton addTarget:self 
                     action:@selector(buttonPressed:)
           forControlEvents:UIControlEventTouchDown];        

    [headerView addSubview:reportButton];
    return headerView;    
}

但是,如下所示,按钮没有给出必要的空间(我希望标题的高度符合44参数)。

这里有什么问题?我应该补充一点,UITableView是在一个单独的XIB文件中创建的。

alt text

2 个答案:

答案 0 :(得分:14)

您还必须在表格视图委托上实施tableView:heightForHeaderInSection:

答案 1 :(得分:7)

您是否实施了- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section