Как выровнять изображение внутри imageView - PullRequest
0 голосов
/ 30 апреля 2018

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

enter image description here

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

enter image description here

Теперь я попытался выровнять его вправо, но изображение настолько велико, что оно показывает только ее пистолет. Поэтому мне было интересно, как бы вы могли это сделать. Должен ли я использовать ScrollView? Буду признателен за помощь, спасибо.

Ответы [ 3 ]

0 голосов
/ 30 апреля 2018

Набор Контентный режим изображения, которое лучше всего подходит для вас. Просмотр изображений.

enter image description here

0 голосов
/ 30 апреля 2018

Вы можете изменить размер изображения в соответствии с размером изображения, код ниже не проверен:

CGSize kMaxImageViewSize = {.width = 100, .height = 100};
CGSize imageSize = image.size;
CGFloat aspectRatio = imageSize.width / imageSize.height;
CGRect frame = imageView.frame;
if (kMaxImageViewSize.width / aspectRatio <= kMaxImageViewSize.height) 
{
    frame.size.width = kMaxImageViewSize.width;
    frame.size.height = frame.size.width / aspectRatio;
} 
else 
{
    frame.size.height = kMaxImageViewSize.height;
    frame.size.width = frame.size.height * aspectRatio;
}
imageView.frame = frame;
0 голосов
/ 30 апреля 2018

Я не уверен, работает ли это для вас или нет:

Попробуйте другое contentModes:

Используйте это как:

imgView.contentMode = .scaleAspectFit //Or any from below options

Вы можете использовать StoryBoard также:

enter image description here

enter image description hereenter image description hereenter image description here

Попробуйте различные типы, которые подходят для вашего useCase

Надеюсь, это поможет.

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