16

、2行のテキスト、およびオプションのアクセサリビューを提供するスタイルをUITableViewCell使用して表示したい画像があります。UITableViewCellStyleSubtitleUIImageView

ただし、のコンテンツモードをまたはのUIImageViewいずれかUIViewContentModeScaleAspectFitに設定UIViewContentModeScaleAspectFillすると、違いがないように見えます。これらのコンテンツモードはどちらも、画像全体を表示するだけで、テキストを右にシフトして画像用のスペースを確保します。

これらが実際にどのように異なるかについての例はありますか?ドキュメントによると:

UIViewContentModeScaleAspectFit:
Scales the content to fit the size of the view by maintaining the aspect ratio. Any     remaining area of the view’s bounds is transparent.

UIViewContentModeScaleAspectFill:
Scales the content to fill the size of the view. Some portion of the content may be  clipped to fill the view’s bounds.

ただし、これらのコンテンツモードは、宣伝どおりに動作していないようです。

編集:私はSDKiOS4を実行しています。

4

2 に答える 2

35

私も同じ問題を抱えていました。Appleのドキュメントが少し不足しているようです。

インターネットで検索して答えを見つけました。 http://www.iphonedevsdk.com/forum/iphone-sdk-development/2973-crop-image.html

基本的に、

img1.contentMode = UIViewContentModeScaleAspectFill; 
img1.clipsToBounds = YES;

もう少し凝ったものにしたい場合は、この投稿をチェックしてください: UIImageView change Width and Height

于 2011-05-31T02:49:12.990 に答える
9

これらのモードに違いが見られない理由はUITableViewCell、画像のアスペクト比に合わせて画像ビューのサイズが自動的に設定されるためです。コンテンツモードは、ビューのアスペクト比が画像のアスペクト比と異なる場合にのみ機能します。

layoutSubviewsカスタムクラスでオーバーライドするか、UITableViewCell自分で画像ビューを作成します(テーブルビューセルが提供するものは使用しないでください)。

于 2011-12-06T01:33:38.180 に答える