如何从用户输入值更改屏幕大小

时间:2014-07-22 14:51:52

标签: objective-c ipad uiimageview uiimage aspect-ratio

我有一个要求是使用用户输入维度的宽高比将图像显示到imageview中。如果用户输入width = 2000, height =500,但我的图片尺寸为350x199。如何将图像的宽高比适合用户输入。如果用户进入2000然后我需要保持iPad的屏幕宽度是2000然后只有我可以保持纵横比。我怎么能这样做?

imgView=[[UIImageView alloc] initWithFrame:CGRectMake(10, 10, 350, 199)];

1 个答案:

答案 0 :(得分:0)

此代码可以帮助您:

//input data
CGSize screenSize;
CGSize enteredRoomSize;
CGSize originalImageSize;

//ratio calculation
CGFloat widthRatio = screenSize.width / enteredRoomSize.width;
CGFloat heightRatio = screenSize.height / enteredRoomSize.height;
CGFloat minRatio = MIN(widthRatio, heightRatio);

//results calculation
CGSize roomViewSize = CGSizeMake(enteredRoomSize.width * minRatio, enteredRoomSize.height * minRatio);
CGSize imageSize = CGSizeMake(originalImageSize.width * minRatio, originalImageSize.height * minRatio);

如果要对宽度和高度使用不同的比率,请使用以下代码:

//input data
CGSize screenSize;
CGSize enteredRoomSize;
CGSize originalImageSize;

//ratio calculation
CGFloat widthRatio = screenSize.width / enteredRoomSize.width;
CGFloat heightRatio = screenSize.height / enteredRoomSize.height;

//results calculation
CGSize imageSize = CGSizeMake(originalImageSize.width * widthRatio, originalImageSize.height * heightRatio);