SDWebImage блокирует табличную метку заголовка

#objective-c #uitableview #sdwebimage

#objective-c #uitableview #sdwebimage

Вопрос:

Мне нужна помощь, я использую SDWebImage для отображения моих изображений в моем приложении Xcode, но я также пытаюсь отображать текст, используя testLabel TableView. Но происходит то, что изображение перемещает текстовую метку вправо, рядом с изображением, а не поверх изображения. Я не использую UIImageView или label, я использую встроенные в tableviews по умолчанию ImageView и textLabel. Есть идеи о том, как я могу отобразить эту текстовую метку поверх загруженного изображения sdwebimage? Я хочу отобразить текст в левом нижнем углу ячейки поверх загруженного изображения.

Я не могу опубликовать изображение, поэтому я постараюсь изо всех сил описать, как выглядит моя проблема.

Описание изображения: В ячейке есть изображение с полями размером 7 пикселей с каждой стороны, справа от изображения находится текстовая метка, отображающая только 2-3 символа, а остальные исчезают с экрана.

Мой код:

Загрузка изображения:

 NSURL * imgURL = [[gamesArray objectAtIndex:indexPath.row] valueForKey:@"gameURL"];
[cell.imageView setContentMode:UIViewContentModeScaleAspectFit];
[cell.imageView sd_setImageWithURL:imgURL placeholderImage:[UIImage imageNamed:@"placeholder.png"] options:SDWebImageRefreshCached];
  

Загрузка текста:

 cell.textLabel.text = gameObject.gameName;
[cell.textLabel setContentMode:UIViewContentModeScaleToFill];
cell.textLabel.textColor = [UIColor whiteColor];
  

Ответ №1:

По умолчанию изображение ячейки TableView всегда находится в центре, а textLabel находится справа от ImageView. Итак, для этого вам нужно создать пользовательскую ячейку TableView.

Комментарии:

1. Теперь это имеет смысл. Как бы мне это сделать? Любые ссылки. У меня есть ячейка-прототип, но я просто меняю ее высоту.

Ответ №2:

Вместо установки вида изображения ячейки по умолчанию, который нельзя настроить, вы можете добавить свой собственный вид изображения

 CGRect frame = CGRectMake(xOffset, yOffset, width, height);

UIImageView *imgView = [UIImageView.alloc initWithFrame:frame];
[cell addSubview:imgView];
  

Затем используйте тот же код для настройки imgView вместо cell.imgView, и вы сможете настроить imgView так, как вам нужно!

Комментарии:

1. Что я сделал, так это создал пользовательскую ячейку TableView, но я дам вам правильный ответ, поскольку это тоже работает, спасибо.