こんにちは私のIPadアプリケーションで私は画像ビューのリストを持っていますそしてデータは私がサーバーから取得しているそれらの画像ビューの画像を意味します。尊敬される画像ビューのすべての画像を問題なく読み込むことができます。しかし、ここで私は、画像ビューで解像度が良く見える画像がほとんどなく、画像ビューで引き伸ばされて見える画像がほとんどないという1つの異常を観察しました。私の知る限り、これは画像サイズがその画像ビューサイズよりも大きいために発生していると感じています。しかし、サーバーから取得しているデータなので、サイズを制御できません。したがって、誰でもこの問題を修正する方法を示すことができます。imageviewsの画像を引き伸ばしたくないという意味です。私を助けてください。
質問する
336 次
2 に答える
1
スパイネットが述べたように、UIViewContentModeScaleAspectFitを試してください
または、このメソッドを追加して、画像のサイズを希望のサイズに変更します
- (UIImage *)scaleAndRotateImage:(UIImage *)imagerotate {
CGImageRef imgRef = imagerotate.CGImage;
CGFloat width = CGImageGetWidth(imgRef);
CGFloat height = CGImageGetHeight(imgRef);
CGAffineTransform transform = CGAffineTransformIdentity;
CGRect bounds = CGRectMake(0, 0, width, height);
CGFloat boundHeight;
boundHeight = bounds.size.height;
bounds.size.height = bounds.size.width;
bounds.size.width = boundHeight;
transform = CGAffineTransformMakeScale(-1.0, 1.0);
transform = CGAffineTransformRotate(transform, M_PI / 2.0); //use angle/360 *MPI
UIGraphicsBeginImageContext(bounds.size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextConcatCTM(context, transform);
CGContextDrawImage(context, CGRectMake(0, 0, width, height), imgRef);
UIImage *imageCopy = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
// UIImageWriteToSavedPhotosAlbum(imageCopy, nil, nil, nil);
return imageCopy;
}
これを追加してメソッドを呼び出します
UIImage *imgResized=[self scaleAndRotateImage:imageReceived];
于 2013-03-27T08:57:15.997 に答える
0
これを試してみてくださいこれが役立つことを願っています
yourImageView.contentMode=UIViewContentModeScaleAspectFit;
于 2013-03-27T12:13:12.973 に答える