[解決済み] UIViewContentModeScaleAspectFillがクリッピングしない件
質問
サムネイル画像を固定サイズ(100x100)で描画するために
UIImageView
. 画像ビューのフレームサイズを100x100に設定し、その上で
contentMode
を
UIViewContentModeScaleAspectFill
.
私の理解では、これによって画像は私が設定したサイズで描画され、画像は画像の領域を満たし、画像ビューに設定したサイズから外れた部分をクリップするはずです。しかし、画像は私が設定した100x100のサイズより大きくも小さくも描画されたままです。
を設定すると
contentMode
を
UIviewContentModeScaleToFill
に変更すると、画像は正確に100x100で描画されますが、その寸法に収まるように歪んでしまいます。アスペクト フィルが期待どおりにクリッピングされない理由について、何か思い当たることはありますか?
以下は私のコードです。
_photoView = [[UIImageView alloc] initWithImage:photoImage];
_photoView.contentMode = UIViewContentModeScaleAspectFill;
[self addSubview:_photoView];
CGRect photoFrame = _photoView.frame;
photoFrame.size = CGSizeMake(100, 100);
_photoView.frame = photoFrame;
よりよく説明するために、私が見ているものをスクリーンショットで示します。緑色の四角は
UIView
を含む
UIImageView
で作業しています。背景色を緑に、ビューのフレームを100x100に設定しました。テストとして
UIImageViews
は 50x50 のサイズに設定されています。ご覧のように
...AspectFill
を使用した場合、画像は50x50のサイズにならず、場合によっては希望する位置から外れてしまうことがあります。一方
...ScaleToFill
を使用すると、サイズは正しく調整されますが、画像は歪んでしまいます。
どのように解決するのですか?
クリップを境界線に設定してみてください。
[_photoview setClipsToBounds:YES];
あるいは、Storyboard / Xibに直接書き込むこともできます。
関連
-
[iOS]コンパイルエラー:ld: アーキテクチャ x86_64 のシンボルが見つかりません。
-
iOS classic error Undefined symbols for architecture XXX:
-
dyld: ライブラリがロードされていません。エラーの解決
-
[解決済み] Objective-Cで、ある文字列が他の文字列を含んでいるかどうかを調べるにはどうすればよいですか?
-
[解決済み] iOSのステータスバーの文字色を変更する方法
-
[解決済み] UITableViewの下にある余分なセパレータをなくす
-
[解決済み] Xcode 12、iOS Simulator用にビルドしても、iOS用にビルドされたオブジェクトファイルでは、アーキテクチャ「arm64」用にリンクされます。
-
[解決済み] IBOutletsはARCのもとで強くなるべきか、弱くなるべきか?
-
[解決済み] テキストフィールドを移動する方法(次へボタン/完了ボタン)
-
[解決済み] ファイルはユニバーサル(3スライス)ですが、iOSの静的ライブラリのための(n)ARMv7-sスライスエラーが含まれていない、どうにかして回避するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Xcode 6.3 - 現在の iOS Development 証明書または保留中の証明書要求がすでにあります。
-
[解決済み] performSelectorのセレクタが不明なため、リークが発生する可能性があります。
-
[解決済み] iOSのステータスバーの文字色を変更する方法
-
[解決済み] App Storeのアプリと連動させる方法
-
[解決済み] Objective-Cで文字列が空かどうかをテストするにはどうすればよいですか?
-
[解決済み] iOS 8 UITableViewのセパレータインセット0が機能しない件
-
[解決済み] Xcode 12、iOS Simulator用にビルドしても、iOS用にビルドされたオブジェクトファイルでは、アーキテクチャ「arm64」用にリンクされます。
-
[解決済み] iOS 13 のフルスクリーンでモーダルを表示する
-
[解決済み] iPhone UITextField - プレースホルダーの文字色を変更する
-
[解決済み] iOSで現在のデバイスの言語を取得するには?