+(void)setViewRect:(UIImageView *)imageView image:(UIImage *)image
{
CGSize imageSize = image.size;
CGSize imageViewSize = CGSizeZero;
UIInterfaceOrientation currentOrientation = [[UIApplicationsharedApplication] statusBarOrientation];
if (currentOrientation == UIInterfaceOrientationPortrait)
{
CGFloat winHeight = iPhone5? 568 : 480;
if (imageSize.height > imageSize.width)
{
if (imageSize.height > winHeight)
{
CGFloat scale = winHeight / 320;
CGFloat imageScale = imageSize.height / imageSize.width;
if (imageScale < scale)
{
CGFloat imageViewSizeHeight = 320 / imageSize.width * imageSize.height;
imageViewSize = CGSizeMake(320, imageViewSizeHeight);
}
else
{
CGFloat imageViewSizeWidth = winHeight / imageSize.height * imageSize.width;
imageViewSize = CGSizeMake(imageViewSizeWidth, winHeight);
}
}
else
{
imageViewSize = imageSize;
}
}
else if (imageSize.height < imageSize.width)
{
if (imageSize.width > 320)
{
CGFloat imageViewSizeHeight = 320 / imageSize.width * imageSize.height;
imageViewSize = CGSizeMake(320, imageViewSizeHeight);
}
else
{
imageViewSize = imageSize;
}
}
else if (imageSize.height == imageSize.width)
{
if (imageSize.width > 320)
{
imageViewSize = CGSizeMake(320, 320);
}
else
{
imageViewSize = imageSize;
}
}
CGFloat originX = (320 - imageViewSize.width) / 2;
CGFloat originY = (winHeight - imageViewSize.height) / 2;
imageView.bounds = CGRectMake(originX, originY, imageViewSize.width, imageViewSize.height);
}
elseif (currentOrientation == UIInterfaceOrientationLandscapeLeft || currentOrientation == UIInterfaceOrientationLandscapeRight)
{
CGFloat winWidth = iPhone5? 568 : 480;
if (imageSize.height == imageSize.width)
{
if (imageSize.width > 320)
{
imageViewSize = CGSizeMake(320, 320);
}
else
{
imageViewSize = imageSize;
}
}
else if (imageSize.height > imageSize.width)
{
if (imageSize.height > 320)
{
CGFloat imageViewSizeWidth = 320 / imageSize.height * imageSize.width;
imageViewSize = CGSizeMake(imageViewSizeWidth, 320);
}
else
{
imageViewSize = imageSize;
}
}
else if (imageSize.height < imageSize.width)
{
if (imageSize.width > winWidth)
{
CGFloat scale = winWidth / 320;
CGFloat imageScale = imageSize.height / imageSize.width;
if (imageScale < scale)
{
CGFloat imageViewSizeWidth = 320 / imageSize.height * imageSize.width;
imageViewSize = CGSizeMake(imageViewSizeWidth, 320);
}
else
{
CGFloat imageViewSizeHeight = winWidth / imageSize.width * imageSize.height;
imageViewSize = CGSizeMake(winWidth, imageViewSizeHeight);
}
}
else
{
imageViewSize = imageSize;
}
}
CGFloat originX = (winWidth - imageViewSize.width)/ 2;
CGFloat originY = (320 - imageViewSize.height) / 2;
imageView.bounds = CGRectMake(originX, originY, imageViewSize.width, imageViewSize.height);
}
}