2011-12-14 86 views
1

在Interface Builder中,將UIView添加到UITable並正確顯示,只需拖放即可完成。但現在這將是可選的,所以它必須以編程方式放置。如何以編程方式在UITableView中添加視圖?

下面是它的樣子就像在界面生成器: How it looked like in the Interface Builder

當我添加新的視圖作爲一個子視圖,它顯示出對UITableView -content的頂部,但內容應該有一定的偏移。我用下面的代碼試了一下:

self.scrollView.frame = CGRectMake(0, -140, self.scrollView.frame.size.width, self.scrollView.frame.size.height); 
[self.tableView addSubview:self.scrollView]; 
[self.tableView setContentInset:UIEdgeInsetsMake(140,0,0,0)]; 
[self.tableView setContentOffset:CGPointMake(0, -140) animated:NO]; 

這似乎工作,它正確地顯示。但是,當我向下滾動,節頭停留在從頂部140個像素。所以我想我正在使用錯誤的方法,但絕對不知道如何解決它。誰能給我一個正確的方向?

回答

2

好吧,我覺得真的很愚蠢。經過幾個小時的嘗試,我想到了一些東西。剛剛檢查了.xib文件的源代碼,並將其與子視圖的子視圖進行比較。出現以下情況:

  • UIViewUITableView子視圖的一部分。
  • 添加了以下參考:<reference key="IBUITableHeaderView" ref="204195654"/>

所以,改變了代碼這樣:

[self.tableView addSubview:self.scrollView]; 
[self.tableView setTableHeaderView:self.scrollView]; 

和它的作品!

+0

你的意思是你自動把你添加到tableView.HeaderView的視圖? – 2012-10-16 07:51:43

相關問題