2016-05-31 3 views
0

У меня есть изображение в UIImageView. Есть серые участки над и под изображением, потому что размер изображения не имеет того же размера, что и UIImageView. Как я могу обрезать или масштабировать изображение таким образом, чтобы оно просто предназначалось для покрытия серой области сверху и снизу или слева и справа?Обрезание или центрирование изображения в Swift

enter image description here

+0

Слепое масштабирование изображения в соответствии с изображением уменьшит изображение. –

ответ

1

Вы должны установить код содержания изображения в UIViewContentMode.ScaleAspectFill, и вы должны установить свойство clipsToBounds с изображением на true.

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

+1

Это должно быть '.ScaleAspectFill', так как он хочет заполнить всю область вместо того, чтобы серые границы. – ChaosCoder

+1

ChaosCoder прав, .ScaleAspectFill работал для меня, и он покрывал серое пространство. Тем не менее, я поднимусь и выберу ваш ответ в качестве принятого, потому что вы упомянули свойство clipsToBounds, которое действительно помогло мне решить эту проблему. Только применение AspectFill было недостаточным, так как изображение выходило за рамки UIImageView и устанавливало clipToBounds для истинного решения этой проблемы. Так что большое спасибо! – laser2302

+0

Добро пожаловать .... Обновленный ответ на scaleAspectfill ......... !! – Lion

1

Установите contentMode в UIImageView к UIViewContentMode.ScaleAspectFill. Вы можете сделать это программно или через Interface Builder.

yourImageView.contentMode = .ScaleAspectFill

См Apple Documentation для более подробной информации.

+0

Думаю, вы должны использовать .ScaleAspectFit – Bing

+0

Нет, '.ScaleAspectFill' верен. https://stackoverflow.com/questions/4895272/difference-between-uiviewcontentmodescaleaspectfit-and-uiviewcontentmodescaletof – ChaosCoder

+0

О, я ошибаюсь ... – Bing

Смежные вопросы