我有一个UIView,我已经放入IB(iPad版)中的另一个UIView,我这样做,所以我可以控制该地区的背景颜色。
奇怪的是,如果我将UIView的背景颜色设置为GroupTableViewBackgroundColor,无论是在IB还是代码中,颜色总是白色,它不会影响颜色变化,也不会反映在IB中。
有没有人看过这种行为并找到了解决办法?
提前致谢。
答案 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而改变。)