Проблемы с размерами MKSnapshotter внутри UITableViewCell при использовании автоматического размещения - PullRequest
0 голосов
/ 17 мая 2019

Пример этой проблемы можно найти по адресу https://github.com/SRowley90/MKMapSnapshotterExample

У меня есть проблема, когда мне нужно отобразить снимок карты внутри ячейки таблицы.У меня есть представление изображения с фиксированной высотой внутри содержащего представления внутри UIStackView, поэтому я могу иметь большие поля, чем в виде стека, предлагаемого в пространстве (хотя это больше не относится к проблеме).

Моя проблемачто MKSnapshotter требует, чтобы размер представления был дан прежде, чем ячейка решила, какова ее ширина.Метод setup() вызывается для ячейки, которая создает MKSnapshotter.Options с размером, который он имеет в данный момент, который поступает непосредственно из файла пера для ячейки.

let options = MKMapSnapshotter.Options()
options.region = MKCoordinateRegion(center: centerCoordinate, latitudinalMeters: distanceInMeters, longitudinalMeters: distanceInMeters)
options.size = self.mapSnapshotImageView.bounds.size

MKSnapshotter получает изображение и устанавливает его в UIImageView, а затем ячейка выкладывает представления в соответствии со свойствами Autolayout, поэтому возвращаемое изображение уже не соответствует размеру представления.В этом примере я плохо справляюсь с кэшированием этого изображения, поэтому могу лучше демонстрировать.

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

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...