UITableViewCell
を提供するUITableViewCellStyleSubtitle
スタイル、2行のテキスト、およびオプションのアクセサリビューを使用して、UIImageView
で表示したい画像があります。
ただし、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.
ただし、これらのコンテンツモードは、宣伝どおりに動作していないようです。
編集:私はSDK iOS4を実行しています。
これらのモードに違いが見られない理由は、UITableViewCell
が画像のアスペクト比に合うように画像ビューのサイズを自動的に変更するためです。コンテンツモードは、ビューのアスペクト比が画像のアスペクト比と異なる場合にのみ機能します。
カスタムlayoutSubviews
クラスのUITableViewCell
をオーバーライドするか、自分で画像ビューを作成します(テーブルビューセルが提供するものは使用しないでください)。
私も同じ問題を抱えていました。 Appleドキュメントが少し不足しているようです。
インターネットで検索して答えを見つけました。 http://www.iphonedevsdk.com/forum/iphone-sdk-development/2973-crop-image.html
基本的に、
img1.contentMode = UIViewContentModeScaleAspectFill;
img1.clipsToBounds = YES;
もう少し凝ったものにしたい場合は、この投稿をチェックしてください: IImageViewの幅と高さを変更