UITableViewCell окрашивают проблемы с пользовательским фоном табличного представления

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

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

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

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

Спасибо

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

6
задан indragie 2 April 2010 в 18:51
поделиться

3 ответа

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

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

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

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

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

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

2
ответ дан 17 December 2019 в 20:30
поделиться

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

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

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

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

0
ответ дан 17 December 2019 в 20:30
поделиться

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


- (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
ответ дан 17 December 2019 в 20:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: