我需要在动态填充的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文件中创建的。
答案 0 :(得分:14)
您还必须在表格视图委托上实施tableView:heightForHeaderInSection:
。
答案 1 :(得分:7)
您是否实施了- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
?