2011-10-12 128 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