#ios #objective-c
Вопрос:
У меня есть представление изображения с установленными ограничениями, и изображение, которое я загружаю (с URL-адреса), по какой-то причине не заполняет все представление изображения. Я включил фотографию того, о ком идет речь, а затем подробное изображение того же «поста». Для обоих используется один и тот же код. В подробном представлении (которое отображается правильно) я установил изображение записи во время загрузки, и это автономное представление. Тот, который загружается в wonky, представляет собой ячейку представления таблицы с пользовательским классом, а изображение задается в cellForRowAtIndexPath. Я изменяю размер изображения перед отправкой в Back4App с разбором до 500×500, и оба вида изображений настроены на обрезку до границ и подгонку по размеру. ограничения uiimageview точно такие же, с нулевым выравниванием по горизонтали, фиксированной шириной и высотой, а также ограничениями для всех четырех сторон (8 от ближайших соседей).
вот фрагменты кода для того, как они оба выполняются:
розовый фон:
- (nonnull UITableViewCell *)tableView:(nonnull UITableView *)tableView cellForRowAtIndexPath:(nonnull NSIndexPath *)indexPath {
PostCell *cell = [self.tableView dequeueReusableCellWithIdentifier:@"PostCell"];
Post *post = self.posts[indexPath.row];
PFUser *user = post.author;
[user fetchInBackgroundWithBlock:^(PFObject * _Nullable object, NSError * _Nullable error) {
cell.usernameLabel.text = post.author.username;
}];
cell.titleLabel.text = post.caption;
cell.isLiked = NO;
NSURL *imageURL = [NSURL URLWithString:post.image.url];
[cell.imageView setImageWithURL:imageURL];
return cell;
}
тот, который загружается правильно:
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
PFUser *user = self.post.author;
[user fetchInBackgroundWithBlock:^(PFObject * _Nullable object, NSError * _Nullable error) {
self.usernameTextLabel.text = self.post.author.username;
}];
self.titleTextLabel.text = self.post.caption;
self.descriptionTextLabel.text = self.post.bodyText;
NSURL *postImageURL = [NSURL URLWithString:self.post.image.url];
[self.postImageView setImageWithURL:postImageURL];'''
}
Какие-нибудь советы? Возможно, есть некоторые основы, с которыми я не справляюсь — в основном я прошел ускоренный курс, и я занимаюсь этим всего около 3 недель, поэтому я не понимаю многое из этого так глубоко, как хотел бы.
тот, который загружается правильно
примечание: я буквально не могу понять, как правильно выполнять блоки кода??? я следую тому, что там написано, лол
Комментарии:
1. Неясно, как настроена ваша ячейка представления таблицы «PostCell». Обычно вы используете
[imageView setContentMode:UIViewContentModeScaleAspectFit]
масштабирование изображения (с сохранением соотношения сторон), чтобы оно соответствовало границам изображения.
Ответ №1:
Проверьте следующие моменты
- Отладьте размер кадра изображения, чтобы он был правильным, который вы указали.
- Установите следующее для просмотра изображения
[cell.imageView setImageWithURL:imageURL]; cell.imageView.contentMode = UIViewContentModeScaleAspectFill; [cell.imageView setClipsToBounds:YES];
Комментарии:
1. спасибо за комментарий, но я все понял!
Ответ №2:
Я случайно использовал изображение по умолчанию, с которым поставляется ячейка, вместо моего собственного выхода в мой новый вид изображения.