#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.