2011-03-30 64 views
13

在我的UITableView中,我有一個tableHeaderView應該根據內容調整自己的大小。調整大小工作正常,但是,tableHeaderView掩蓋了第一對單元格。可視化地更改tableHeaderView的框架不會重新組織視圖的其餘部分。更改tableHeaderView的高度隱藏單元格

我已經試過撥打[self.tableView layoutSubViews][self.tableView setNeedsLayout],但那些都沒有幫助。也嘗試給Interface Builder的tableHeaderView一個出口來改變那個框架,但是那也不能重新組織tableView。

如何更改tableHeaderView的大小,而不隱藏任何單元格,重新組織tableView的其餘部分?

+1

嘗試在'viewForheaderInSection'中輸入'[myView setClipsToBounds:YES];'然後您可以看到您查看的尺寸大小爲 – Seega 2011-03-30 09:42:52

回答

4

我不知道你是如何創建你的UITableView,但我試圖創建一個像你這樣的tableHeaderView,它的大小調整。

我創建一個類的UITableViewController

@interface MyTableViewController : UITableViewController { 

} 

@end 

,爲實現繼承,在viewDidLoad中,我說:

UIView *header = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 100)]; 
[header setBackgroundColor:[UIColor redColor]]; 
self.tableView.tableHeaderView = header; 

enter image description here

+0

我通過帶有nib文件的TableViewController創建了TableView。在那裏,我添加了一個tableHeaderView的視圖,並插入一個包含內容的標籤。我通過調整IBOutlet來更改內容和標籤框。但是對tableHeaderView IBOutlet做同樣的事情,不會重新組織tableview。 – SpacyRicochet 2011-03-30 14:33:00

+2

最後,我使用了這個方法,而不用在Interface Builder中創建視圖。謝謝! – SpacyRicochet 2011-08-09 07:33:28

+0

嘿!爲什麼我將相同的行添加到viewDidLoad中,而我看不到上面的紅色塊? – 2012-03-11 07:57:12

22

嘗試設置的UITableView的tableHeaderView財產在調整內容大小後。

[self.tableView setTableHeaderView:self.myResizedTableHeaderView]; 

解決了我的問題。希望能幫助到你。

+3

專門針對我,我推遲sizing的東西,直到viewWillAppear:因爲我的控制器是動態實例化,因此沒有適當的幾何參考,直到那時。 – qix 2012-08-09 07:27:52

相關問題