UIImageview в пользовательской ячейке с проблемой ограничений режима заполнения Aspect
У меня проблема с UIImageView
в UITabelViewCell
,
вот мой UIImageView
в построителе интерфейса и его ограничения
Когда я установил режим "масштаб, чтобы заполнить", я получил этот результат (который соответствует ограничениям и моим ожиданиям)
но я не хочу этот режим!!
Что я хочу, так это "Aspect Fill", но сидящий в этом режиме, дает мне такой результат
Как я могу справиться с этой проблемой?
3 ответа
Использование аспектной заливки сохраняет пропорции, но может привести к тому, что изображение будет нарисовано за пределами вида. Вам необходимо закрепить подпредставления в представлении изображения (вы можете увидеть эту опцию на скриншотах построителя интерфейса выше), и тогда лишние части изображения не будут нарисованы.
Если вы хотите сохранить пропорции, а также увидеть все изображение, вам понадобится Aspect Fit, но это приведет к появлению пустых областей по сторонам изображения, если оно не соответствует форматному соотношению вида.
Существует несоответствие ограничений для вашего UIImageView,
Используйте только ограничения ниже,
Top Space -> ContentView
Bottom Space -> ContentView
Trailing Space -> ContentView
Leading Space -> Only One Label
или же
Top Space -> ContentView
Height -> 161
Leading Space -> Only One Label
Width -> 151
При выборе режима содержания Aspect Fill
для представления изображения содержимое выходит за пределы представления изображения. Это связано с тем, что в режиме аспектного заполнения содержимое заполняется до тех пор, пока границы контейнера (представление изображения) не будут полностью заполнены содержимым, сохраняя соотношение сторон без изменений. А когда содержимое полностью заполнено, оно выходит за пределы ширины или высоты.
Для того, чтобы сохранить режим содержимого в Aspect Fill для UIImageView
Вы также должны установить это Clip Subview's
собственность также. Установка этого свойства обрезает содержимое представления изображения за пределами границ.