在UITableView标头的标头中添加UIButton

mar*_*bjo 7 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;    
}
Run Code Online (Sandbox Code Playgroud)

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

这有什么不对?我应该补充一点,UITableView是在一个单独的XIB文件中创建的.

替代文字

Kri*_*kel 14

您还必须tableView:heightForHeaderInSection:在表视图委托上实现.


Mat*_*uch 7

你实施了- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section吗?

  • 太糟糕了我只能奖励一个答案.谢谢. (2认同)