好的,所以我在UIScrollView中有一个UIImageView。我动态地将图像加载到UIImageView中,然后手动调整大小。到现在为止还挺好。但是,如果我触摸UIScroll滚动视图(包含调整大小的元素),所有内容都会调整为原始大小。以防万一,这是调整图像大小的代码:
/**
* Proportionally resize and position doodle
*/
- (void)resizeDoodle:(CGFloat)height {
self.doodleImageView.frame = CGRectMake(0, 0, self.view.bounds.size.width, height);
[self.scrollView setContentSize:self.doodleImageView.frame.size];
}
答案 0 :(得分:0)
self.Imageview.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
此行保持图像适合
self.Imageview.contentMode = UIViewContentModeScaleAspectFit;
编写上述代码以限制您的问题。
另一种方式:
使用以下方法将特定高和宽度(您想要)与图像
一起使用+ (UIImage*)resizeImage:(UIImage*)image withWidth:(int)width withHeight:(int)height
{
CGSize newSize = CGSizeMake(width, height);
float widthRatio = newSize.width/image.size.width;
float heightRatio = newSize.height/image.size.height;
if(widthRatio > heightRatio)
{
newSize=CGSizeMake(image.size.width*heightRatio,image.size.height*heightRatio);
}
else
{
newSize=CGSizeMake(image.size.width*widthRatio,image.size.height*widthRatio);
}
UIGraphicsBeginImageContextWithOptions(newSize, NO, 0.0);
[image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];
UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage;
}
此方法返回 NewImage ,具有您指定的特定大小:) 此代码可能对您有所帮助:))