iPhone: маска UIImageView разных размеров в квадратную - PullRequest
1 голос
/ 25 января 2011

У меня есть куча UIImageViews, которые в разных пропорциях. Некоторые из 100x101, некоторые 130x121.

Как я могу замаскировать их до 80x80 и НЕ растягивать изображения? Я просто хочу замаскировать квадрат из каждого. (вроде как в режиме просмотра миниатюр фотографий Apple)

Ответы [ 2 ]

5 голосов
/ 25 января 2011
  1. Установите размер представления изображения равным 80 x 80
  2. установите для свойства contentMode представления изображения значение UIViewContentModeScaleAspectFill
  3. Наконец, чтобы сделать закругленные углы, используйте следующий код и импортируйте QuartzCore / QuartzCore.h в начале вашего файла реализации.

    CALayer * layer = [myImageView layer];
    [layer setMasksToBounds:YES];
    [layer setCornerRadius:12.0f];
    

Отредактировано: Да, говоря размер, я имею в виду кадр, W и H :

enter image description here

0 голосов
/ 25 января 2011

Установите режим содержания UIViewContentMode , возможно, вы ищете UIViewContentModeScaleAspectFit или UIViewContentModeScaleAspectFill.

UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 80, 80)];
[imageView setContentMode:UIViewContentModeScaleAspectFit];
[imageView setImage:[UIImage imageNamed:@"myImage.png"];
.
.
.
...