#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, но я дам вам правильный ответ, поскольку это тоже работает, спасибо.