2010-04-02 1 views
6

У меня есть UITableView с пользовательским фоновым изображением, установленным как это:вопросов UITableViewCell цвета с пользовательских фоном таблицы просмотра

self.tableView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"mybg.png"]]; 

Фон появляется хорошо, но мои UITableViewCells (по умолчанию клетка, а не заказные) имеет какое-то странный оттенок для них, и UILabel, содержащий текст «Новый проект», также, похоже, имеет какой-то фон. Как я могу удалить это? Я уже пробовал:

cell.backgroundColor = [UIColor clearColor]; 
cell.textLabel.backgroundColor = [UIColor clearColor]; 

Благодарности

alt text http://cl.ly/Cg5/content

ответ

2

Я считаю, что это неприятный побочный эффект просто добавления изображения прямо в backgroundColor вашего стола.

Попробуйте добавить изображение в зрения 's цвет фона:

[[self view] setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"mybg.png"]]]; 

, а затем установить вид таблицы' BackgroundColor s, чтобы быть ясно:

[[self tableView] setBackgroundColor:[UIColor clearColor]]; 

Я надеюсь, что это помогает!

+0

Это сделал это, спасибо! – indragie

+0

Привет, что если мне понадобится прокрутка фонового рисунка со столом? Поэтому я не могу просто сделать фон таблицы прозрачным и установить фон представления под таблицей. – hzxu

+0

Привет hzxu, я думаю, вы сможете добиться этого, если вы установите цвет фона ваших ячеек таблицы как [UIColor clearColor], а затем установите фоновое представление ваших ячеек таблицы как пользовательское изображение (UIImageView). Затем вы сможете использовать таблицу по вашему выбору. Надеюсь это поможет. –

0

Несколько раз, когда ваши работы с установкой изображений для приложения, и тестирование на тренажере, они замораживаются в приложение для немногих запустить. Не уверен, это так, даже если вы удаляете файлы изображений; они все еще продолжают появляться.

Я бы сказал, что вы оставите симулятор и перезапустите Xcode. Затем принудительно завершите восстановление приложения на симуляторе. Это должно очистить любые изображения - даже фоновые изображения, если они все еще ссылаются.

Если это не решение, которое работает ... попробуйте убедиться, что у вас нет противоречивых команд, идущих к одному объекту UiTablView - (1 из IB и 1 из Xcode программно). Иногда вы можете упускать из виду, что вы установили что-то в IB, и это противоречит тому, что вы говорите ему, чтобы делать это в программировании.

Если это не решит проблему ... проверьте соединения в IB и убедитесь, что вы выполнили правильное отображение таблицы IBOutlet UITableView * tableview. И у вас есть делегат и протоколы данных в заголовке.

0

Если вы хотите, чтобы каждая ячейка набора с фоном и хотите удалить фоновый текст, в может быть, вы можете попробовать это ...


- (void)viewDidLoad { 
... 
self.tableView.backgroundColor = [UIColor clearColor]; 
... 
} 

- (UITableViewCell *)tableView:(UITableView *)table cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
... 
cell.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"mybg.png"]]; 
cell.textLabel.backgroundColor = [UIColor clearColor]; 
... 
} 
Смежные вопросы