2017-01-03 6 views
3

imageViewを使用していて、異なる画像が含まれていますが、一部の画像が引き伸ばされています。どのようにストレッチせずに画像を表示するのですか?私はcontentModeをアスペクトに合わせました。ただし、画像はimageViewのサイズではなく、サイズが異なります。ストレッチせずに同じサイズの画像を表示したい。あなたはUIViewContentModeScaleAspectFillUIImageView'sインスタンスのcontentModeプロパティを設定するよりも、ストレッチせずに、同じサイズの各画像を表示したい場合はなぜImageviewはいつも通り過ぎていたのですか?

imageview1 = [[UIImageView alloc]initWithFrame:CGRectMake(30, 10, 190, 190)]; 
    imageview1.contentMode = UIViewContentModeScaleAspectFit; 
    imageview1.clipsToBounds = YES; 
+0

UIViewContentModeScaleAspectFill –

+0

clipsToBounds = falseを変更してみてください。 –

+0

はい私もそれを使用しますが、一部の部分が "UIViewContentModeScaleAspectFill"を使用して切り取られる画像全体を取得しません。 – ashmi123

答えて

3

imageview1.contentMode = UIViewContentModeScaleAspectFit; 
imageview1 = [[UIImageView alloc]initWithFrame:CGRectMake(30, 10, 190, 190)];  
imageview1.clipsToBounds = YES; 
+0

本当にうまくその仕事をありがとう....今すぐ良い画像を表示する..おかげで本当に...!! – ashmi123

1

以下のようにフレームを設定する前に、コンテンツモードを設定してみてください。 instance-

imageview1 = [[UIImageView alloc]initWithFrame:CGRectMake(30, 10, 190, 190)]; 
imageview1.contentMode = UIViewContentModeScaleAspectFill; 
imageview1.clipsToBounds = YES; 

UIViewContentModeScaleAspectFillについては、そのままaspect ratioを保ち、image viewの全体面積を記入します。 image view全体を充填する過程で、垂直または水平の長さが完全にカバーされ、他の寸法が完全に充填されるまで充填が継続される。このプロセスでは、あなたのコンテンツ(の垂直またはの水平)がフレームの外側に表示されます。この余分なコンテンツをクリップするには、clipsToBoundsプロパティをimage viewに設定してYESに設定してください。

UIViewContentModeScaleAspectFitは、いずれかの長さvertical又はhorizontalのいずれかが完全に無傷のアスペクト比を維持充填されている時間までimage view's領域を充填します。それぞれの画像を他の方向と同じサイズで表示する必要がない場合(垂直方向が水平方向に完全に満たされている場合、またはその逆の場合)は、完全にはカバーされていません。これは、完全に覆われていない方向に空白を表示するためです。

関連する問題