1

こんにちは私のIPadアプリケーションで私は画像ビューのリストを持っていますそしてデータは私がサーバーから取得しているそれらの画像ビューの画像を意味します。尊敬される画像ビューのすべての画像を問題なく読み込むことができます。しかし、ここで私は、画像ビューで解像度が良く見える画像がほとんどなく、画像ビューで引き伸ばされて見える画像がほとんどないという1つの異常を観察しました。私の知る限り、これは画像サイズがその画像ビューサイズよりも大きいために発生していると感じています。しかし、サーバーから取得しているデータなので、サイズを制御できません。したがって、誰でもこの問題を修正する方法を示すことができます。imageviewsの画像を引き伸ばしたくないという意味です。私を助けてください。

4

2 に答える 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 に答える