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

时间:2012-05-04 15:46:51

标签: 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];

谢谢, 阿什利

3 个答案:

答案 0 :(得分:3)

检查图像尺寸:

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

您可能需要手动设置imageView框架,例如,如果图片太大而无法适合imageView的超级视图。

答案 1 :(得分:1)

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

答案 2 :(得分:0)

sizeToFit应该适用于您的情况,但如果UIImage为零则失败。

UIImage的imageWithContentsOfFile:会返回对UIImagenil的(完全加载的)引用。你确定你正在通过正确的道路吗?