возможно ли указать постоянный размер изображения в табличном представлении swift / Xcode? Если да, то как мне это сделать?

#ios #swift #uitableview #image-resizing

#iOS #swift #uitableview #изменение размера изображения

Вопрос:

Я пытаюсь настроить TableView то, что доступно для поиска. Я хочу, чтобы на дисплее отображались название компании, дата и их логотип. У меня это работает в моем коде; однако все мои логотипы разного размера, поэтому мой интерфейс выглядит очень неряшливо. Могу ли я установить единый размер для каждого изображения в табличном представлении? Аналогично странице поиска Instagram.

Я попытался использовать:

 cell.imageView?.image = UIImage(data:self.filteredCakes[indexPath.row].imageName, scale: CGRectMake(0, 0, 40, 40))
  

Однако мне было выдано сообщение об ошибке:

«Не удается преобразовать значение типа ‘String’ в ожидаемый тип аргумента ‘Data'»

Переменная imageName представляет собой строку, связанную с изображениями в моей папке assets

Это мой код, который функционирует, но предоставляет мне различные размеры изображений:

     func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell     {
    let cell: UITableViewCell = UITableViewCell(style:                         UITableViewCell.CellStyle.subtitle, reuseIdentifier: "cell")

        cell.textLabel?.text = self.filteredCakes[indexPath.row].businessName
        cell.detailTextLabel?.text = self.filteredCakes[indexPath.row].dateText
        cell.imageView?.image = UIImage(named:self.filteredCakes[indexPath.row].imageName)

        return cell
}
  

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

Ответ №1:

Установите ограничения по высоте и ширине для представления изображения. Затем установите для него contentMode значение UIView.ContentMode.scaleAspectFit .

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

1. Как бы я установил ограничения по высоте и ширине для представления изображения?

2. Для этого может потребоваться создать пользовательскую UITableViewCell.