使用GroupTableViewBackgroundColor在iPad上进行UIView

时间:2010-11-11 17:40:21

标签: iphone ipad

我有一个UIView,我已经放入IB(iPad版)中的另一个UIView,我这样做,所以我可以控制该地区的背景颜色。

奇怪的是,如果我将UIView的背景颜色设置为GroupTableViewBackgroundColor,无论是在IB还是代码中,颜色总是白色,它不会影响颜色变化,也不会反映在IB中。

有没有人看过这种行为并找到了解决办法?

提前致谢。

2 个答案:

答案 0 :(得分: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];

答案 1 :(得分:0)

我不确定它是否与您的问题有关,但Apple对UITableView for iOS 3.2进行了一些更改。他们向UITableView引入了一个新属性,定义如下:

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

这个新视图位于表格单元格,页眉和页脚后面,如果设置表格视图背景颜色,可能会造成混淆。作为一种快速解决方法,如果您只想更改颜色,可以删除新视图:

tableView.backgroundView = nil;

当您设置tableView.backgroundColor时,您应该获得与iPhone相同的行为。 (当然这可能会随iOS 4.2而改变。)