2010-11-11 75 views
2

我有一個UIView,我在IB(iPad版本)中的另一個UIView內,我這樣做,所以我可以控制區域的背景顏色。與iPad的UIView GroupTableViewBackgroundColor

奇怪的是,如果我將UIView的背景顏色設置爲GroupTableViewBackgroundColor,無論是在IB還是代碼中,顏色始終是白色,它不尊重顏色變化,也不反映在IB中。

有沒有人看到這種行爲,並找到解決辦法?

在此先感謝。

回答

0

我不確定它是否與您的問題有關,但Apple對iOS 3.2引入了對UITableView的一些更改。他們推出定義了一個新屬性的UITableView如下:

@property (nonatomic, readwrite, retain) UIView *backgroundView; 

這種新的觀點坐在後面的表格單元格,頁眉和頁腳如果設置了表視圖的背景顏色,這可能會造成混淆。作爲一個快速的解決方法,如果你只是想改變顏色,你可以刪除新觀點:

tableView.backgroundView = nil; 

你應該再拿到相同的行爲在iPhone上,當你設置tableView.backgroundColor。 (當然,這可能會在iOS 4.2中改變)。

2

我想我知道你在說什麼。您希望視圖與組表視圖相同,即使它不是組表視圖。這就是我所做的:

UITableView *tv = [[UITableView alloc] initWithFrame:self.view.frame style:UITableViewStyleGrouped]; 
UIView *backgroundView = tv.backgroundView; 
[self.view addSubview:backgroundView]; 
[tv release]; 
CGRect backgroundFrame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height); 
[backgroundView setFrame:backgroundFrame]; 
[self.view sendSubviewToBack:backgroundView];