ios – UIImageView上的SizeToFit无法正常工作

我有一个UIImageView加载在ios文件系统上的文件目录的图像。

问题是,当我打电话

[imageView sizeToFit]; 

这是行不通的。 我认为这是因为图像还没有完全加载,所以sizeToFit部分被调用之前,它有图像的宽度和高度。

请有人指出我的修复方向吗?

这是我的代码:

 imageView.contentMode = UIViewContentModeScaleAspectFit; imageView.image = [UIImage imageWithContentsOfFile:[FileOperations getLibraryPath:[NSString stringWithFormat:@"%d.png", listData.imageId]]]; [imageView sizeToFit]; [imageScroll setContentOffset:CGPointMake(0, 0)]; imageScroll.contentSize = imageView.frame.size; imageScroll.decelerationRate = UIScrollViewDecelerationRateFast; imageScroll.minimumZoomScale = 1; imageScroll.maximumZoomScale = 2; [imageScroll setZoomScale:imageScroll.minimumZoomScale]; [imageScroll addSubview:imageView]; 

谢谢,阿什利

检查图像大小:

 NSLog(@"%@", NSStringFromCGSize(imageView.image.size)); 

您可能想要手动设置基于图像大小的imageView框架,例如,如果图像太大而不适合imageView的超级视图。

 UIImageView *myImage = [[UIImageView alloc]init]; myImage.contentMode = UIViewContentModeScaleAspectFit; myImage.image = [UIImage imageName:@"image.png"]; [self.view addSubview:myImage]; 

sizeToFit应该在你的情况下工作,但如果UIImage是零,则失败。

UIImage的imageWithContentsOfFile:返回一个(完全加载)的参考UIImagenil 。 你确定你正在通过正确的道路吗?