2010-05-12 14 views
1

Я пробовал полностью, но не удалось установить backgroundColor TableView. установка tableView.backgroundColor и/или cell.backgroundColor до clearColor не работает, когда родительский контроллер был UIViewContoller.Как установить цвет фона таблицыView

Моя СИБ структура файла

FileOwner 
View 
UITableView 

(Примечание: я установить TableView раздел groupedTable)

первой попытки, я создал UIView в коде viewDidLoad

UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 160, 300)] autorelease; 
[view setBackgroundColor:UIColor blueColor]; // color it just to see if it is created at the right place 
[self.tableView sendSubViewToBack:view]; 

It но он скрывает содержимое ячейки. Я могу видеть содержимое заголовка, но не содержимое ячейки. (Но когда я изменить координату точки зрения (0,150,160,300), то я могу видеть содержимое ячейки, а затем расслабить BackgroundColor из Tableview.

Вторая попытка, я создал ImageView

View 
ImageView 
UITableView 

и установить self.tableView.backgroundColor = [UIColor clearColor];, но не работал

Я гугле, но не мирный ответ

+1

Есть ли ответ на этот вопрос? – Caipivara

ответ

3

Это всегда работал для меня..

UITableView *tableView = [[UITableView alloc] initWithFrame:tableFrame style:UITableViewStylePlain]; 
tableView.backgroundColor = [UIColor redColor]; 
[parentView addSubview:tableView]; 

Убедитесь, что tableView не ноль, а не скрытый, имеет правильный фрейм и что он добавлен в правильный родительский вид.

5

UITableView с сгруппированным стилем использует фоновый вид. Чтобы избавиться от фона зрения и пусть цвет фона шоу, попробуйте одно из следующих действий:

tableView.backgroundView = nil; 
tableView.backgroundView = [[[UIView alloc] init] autorelease]; 

После этого, вы должны быть в состоянии установить цвет фона обычно:

tableView.backgroundColor = [UIColor redColor]; 

BTW, только представление может быть родительским/супервизором другого представления, а контроллер вида не является представлением.

+0

Спасибо, нарисован, он работает. это инструмент для меня несколько часов и много гуглеров. – Praveen

+1

'self.tableview.backgroundView = nil' работал для меня в 6.0.x – Intentss

0
UIView* backgroundView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.tableView.bounds.size.width, self.tableView.bounds.size.height)]; 
[backgroundView setBackgroundColor:[UIColor redColor]]; 
[self.tableView setBackgroundView:backgroundView]; 
2

Swift Версия

let backgroundView = UIView(frame: CGRect(x: 0, y: 0, width: self.tableView.bounds.size.width, height: self.tableView.bounds.size.height)) 
    backgroundView.backgroundColor = UIColor.redColor() 
    self.tableView.backgroundView = backgroundView 
Смежные вопросы