私はUIImageView
動的に(URLから)画像を設定しています。画像のサイズ/アスペクト比は任意です。Aspect Fillに設定contentMode
し、ビューのレイヤーclipsToBounds
をに設定していますがYES
、正しく表示されています。ただし、画像ビューの下に影も表示したいと思います。画像ビューのレイヤーに影を設定するとき、影を表示するように設定clipsToBounds
する必要がありNO
ます。これにより、ビューからの画像のにじみ部分が表示されます。画像ビューのサイズを一定 (アスペクト フィル) に保ち、同時にシャドウを有効にするにはどうすればよいですか?
1つのオプションには、グラフィックスコンテキストを作成し、そのコンテキストに画像を再描画し、目的のアスペクト比で画像を取得し、その画像を画像ビューの画像として設定することが含まれますが、それは余分な処理であり、CPU/GPU と通常の世界の両方を無駄にします時間(特に、大きな画像を含む画像ビューが多数ある場合)。
別のオプションとして、画像ビューと同じサイズの空白のビューを作成し、それをスーパービューのビューの下に挿入し、制約を使用してビューに動的にアタッチし、そのビューのレイヤーでシャドウを有効にすることが含まれます。これには、シャドウのためだけに追加のビューを作成することも含まれます。おそらく最初のソリューションよりも優れた/より効率的なソリューションですが、それでも余分な作業が必要です (CPU に関して)。
私の条件下でシャドウとアスペクト フィッティングの両方を有効にできる追加作業を必要としないオプションはありますか?