Я надеюсь, что это простой вопрос, и я просто пропущу что-то очевидное. Мои ячейки таблицы - ScheduleCell создаются динамически. Весь контент поступает из разобранной полезной нагрузки JSON. Изображения ячейки - cellImage также динамичны и реализованы с использованием инфраструктуры SDWebImage. Когда ячейка выбрана, ячейка превращается в серое просто отлично, но изображения нет. Я хотел бы сделать это, когда ячейка будет выбрана, и цвет изображений изменится. Если бы я мог изменить оттенок изображений, что было бы здорово? Есть простой способ сделать это?Сделайте динамически загруженный UITableViewCell ImageView измените цвет при выборе
Мои клетки создаются довольно прямо вперед:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
ScheduleCell *cell = (ScheduleCell *)[tableView dequeueReusableCellWithIdentifier:@"Cell" forIndexPath:indexPath];
if (cell == nil)
{
cell = [[ScheduleCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"Cell"];
}
NSDictionary *event = self.schedule[self.sections[[indexPath section]]][indexPath.row];
cell.dayLabel.text = [event objectForKey:@"start_date"];
cell.nameLabel.text = [event objectForKey:@"name"];
cell.dayOfWeekLabel.text = [event objectForKey:@"start_day"];
cell.monthLabel.text = [event objectForKey:@"monthShort"];
[cell.cellImage setFrame:CGRectMake(91, 24, 230, 85)];
[cell.cellImage setImageWithURL:[NSURL URLWithString:[[event objectForKey:@"pic_cover"] objectForKey:@"source"]] placeholderImage:[UIImage imageNamed:@"placeholder230x85.png"] usingActivityIndicatorStyle:(UIActivityIndicatorViewStyle)UIActivityIndicatorViewStyleGray];
cell.backgroundColor = [UIColor colorWithRed:0.85 green:0.85 blue:0.85 alpha:1.0];
return cell;
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
return 110;
}
Это как мои клетки выглядят теперь, когда они выбраны:
Вот снимок экрана мои настройки IB:
Вам нужно получить PNG с прозрачным фоном с сервера – Kevin
Это было бы самым простым исправлением, но я не всегда могу контролировать, какие типы изображений загружаются на сервер. Некоторые из них всегда будут JPEG с белым фоном вокруг логотипов. – DJSK
Да, изображения PNG, необходимые, поскольку jpg не имеют альфа-канала. или если jps является единственным вариантом, вы можете попробовать «imageView.opaque = NO;» или «setAlpha' к нему или что-то (_not sure_) – staticVoidMan