我正在尝试从数据加载图片:
NSError *error ;
NSString *imagePath = [[NSBundle mainBundle] pathForResource:imageName ofType:@"png"];
NSData *encryptedData = [NSData dataWithContentsOfFile:imagePath];
NSData *decryptedData = [RNDecryptor decryptData:encryptedData
withPassword:PASSWORD
error:&error];
UIImage *image = [UIImage imageWithData:decryptedData];
//adding image
UIImageView *movingImageView = [[UIImageView alloc]initWithImage:image];
[movingImageView setContentMode:UIViewContentModeScaleAspectFit];
[self.scrollView addSubview:movingImageView];
现在movingImageView
忽略了内容模式!如果我宣布它的框架,它将被修复!但问题是我的数据是具有不同width
大小的不同图像。任何解决方案?
编辑: 找到了解决方案:
movingImageView.frame = CGRectMake(0, 0, image.size.width/2, image.size.height/2);
答案 0 :(得分:0)
根据文件:
initWithImage:调整接收器的帧以匹配指定图像的大小。它还默认禁用图像视图的用户交互。
如果contentMode
和imageView
具有相同的尺寸,image
显然无效。
我猜您需要指定imageView
' s width
(可能与scrollView相同?),并根据image
&#计算高度39; s维。
答案 1 :(得分:0)
使用以下行。它会将图像填充到帧中。如果大图像出现,它将显示宽高比的图像,一些部分可能会剪辑。尝试一次。
movingImageView.contentMode = UIViewContentModeScaleAspectFill;
movingImageView.clipsToBounds = YES;[self.scrollView addSubview:movingImageView];