Проблемы с цветом в UITableViewCell с настраиваемым фоном табличного представления - PullRequest
6 голосов
/ 02 апреля 2010

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

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

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

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

Спасибо

альтернативный текст http://cl.ly/Cg5/content

Ответы [ 3 ]

2 голосов
/ 05 апреля 2010

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

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

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

, а затем установите табличное представление backgroundColor, чтобы быть ясным:

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

Надеюсь, это поможет!

0 голосов
/ 21 апреля 2010

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


- (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];
...
}
0 голосов
/ 05 апреля 2010

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

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...