UITableView添加子视图

时间:2011-10-12 07:59:38

标签: iphone ios uitableview addsubview

我想在UITableView

中添加子视图

我试过这样的方式:

[self.tableView addSubView:myView.view];

我没有收到任何错误,但是视图没有添加,有人可以帮忙..?

感谢。

5 个答案:

答案 0 :(得分:5)

试试这个:

view.frame = CGRectMake(view.frame.origin.x, -view.frame.size.height, view.frame.size.width, view.frame.size.height);
[self.tableView addSubview:view];
[self.tableView setContentInset:UIEdgeInsetsMake(view.frame.size.height, 0, 0, 0)];

这将在单元格上方添加视图,并将单元格向下移动添加视图的高度。

答案 1 :(得分:2)

我不明白为什么要将子视图添加到Tableview。可能是你想为tableView的每个单元格添加一些东西。您可以通过添加:

来完成此操作
[cell.contentView addSubview:yourSubView];

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{    
}

答案 2 :(得分:2)

self.tableViewmyView都不应该是nil

你是什么意思myView.view

这段代码对我有用:

UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 200)];
UILabel *labelView = [[UILabel alloc] initWithFrame:CGRectMake(20, 80, 200, 20)];
labelView.text = @"TEST";
[headerView addSubview:labelView];

[self.tableView addSubview:headerView];

答案 3 :(得分:0)

对于Swift:

let foregroundView = UILabel(frame: CGRectMake(0, 0, tableView.bounds.size.width, tableView.bounds.size.height))
foregroundView.backgroundColor = UIColor.whiteColor()
tableView.addSubview(foregroundView)
foregroundView.bringSubviewToFront(tableView)

您也可以删除它:

foregroundView.removeFromSuperview()

答案 4 :(得分:0)

只需将您的代码行替换为以下代码:

[self.tableView.superview addSubview:myView];

注意:

我不确定您在问题中提到的代码行myView.view