2011-10-12 100 views
1

我想在UITableView的UITableView添加子视图

我试着像这样子视图中添加:

[self.tableView addSubView:myView.view]; 

没有任何错误,但鉴于没有得到补充说,任何人都可以请帮助.. ?

谢谢。

+0

如果myView的类型是UIView,那么只需[self.tableView addSubView:myView]; – iAmitWagh

+0

你能否详细说明一下。 – leena

+0

什么是myView?是它的UIViewController或UIView的子类 – iAmitWagh

回答

2

我不明白你为什么要向子视图添加子视图。也许你想添加一些东西到tableView的每个单元格。您可以通过添加做到这一点:

[cell.contentView addSubview:yourSubView]; 

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

现在它的工作正常,但我不得不在桌面视图的中间添加指标,并在背景处使用透明视图,但现在它的工作正常,谢谢你的回答 – leena

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

既有S elf.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]; 
0

对于斯威夫特:

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() 
0

只需更换您的代码行与下面的一个:

[self.tableView.superview addSubview:myView]; 

注:

我不能肯定在你在你的问题中提到的代码行约myView.view