2010-11-11 2 views
2

У меня есть UIView, что я упал внутри другого UIView в IB (версия iPad), я делаю это, чтобы я мог контролировать цвет фона в регионе.UIView на iPad с GroupTableViewBackgroundColor

Нечеткое дело в том, что если я задаю цвет фона UIView для GroupTableViewBackgroundColor, либо в IB, либо в коде, цвет всегда белый, он не учитывает изменение цвета и не отражается в IB.

Кто-нибудь видел это поведение и нашел исправление?

Заранее спасибо.

ответ

0

Я не уверен, связано ли это с вашей проблемой, но Apple внесла некоторые изменения в UITableView для iOS 3.2. Они ввели новое свойство 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]; 
Смежные вопросы