Подтвердить что ты не робот

Создайте UIImageView, который обрезает изображение и отображает только 100w 100h при 50x и 200y

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

UIImageView *newView=[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"beach.jpg"]];

но это создает полноразмерный образ и просто показывает его. Как я могу показать только 100w на 100h при 50 и 200? Использовать ли CGRect?

Кроме того, могу ли я сделать так, чтобы щелкнуть по нему, чтобы оно исчезло?

изменить # 1 Я не хочу изменять размер изображения - скорее всего, вытащите 100 квадратов пикселей и поместите их в кадр.

4b9b3361

Ответ 1

Попробуйте использовать следующий код.

MyImageview.contentMode = UIViewContentModeScaleAspectFill; 
MyImageview.clipsToBounds = YES;

Ответ 2

Вы можете обрезать изображение с помощью кода ниже:

CGRect cropRegion = CGRectMake(50, 200, 100, 100);
UIImage *image = [UIImage imageNamed:@"beach.jpg"];
CGImageRef subImage = CGImageCreateWithImageInRect(image.CGImage, cropRegion);
UIImage *croppedImage = [UIImage imageWithCGImage:subImage];
UIImageView *newView = [[UIImageView alloc] initWithImage:croppedImage];

Ответ 3

Вы также можете добиться эффекта обрезки, проверив опцию Clip Subviews в раскадровке.

введите описание изображения здесь