問題タブ [contentmode]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - UIImageView シャドウとアスペクト フィリングを一緒に
私はUIImageView
動的に(URLから)画像を設定しています。画像のサイズ/アスペクト比は任意です。Aspect Fillに設定contentMode
し、ビューのレイヤーclipsToBounds
をに設定していますがYES
、正しく表示されています。ただし、画像ビューの下に影も表示したいと思います。画像ビューのレイヤーに影を設定するとき、影を表示するように設定clipsToBounds
する必要がありNO
ます。これにより、ビューからの画像のにじみ部分が表示されます。画像ビューのサイズを一定 (アスペクト フィル) に保ち、同時にシャドウを有効にするにはどうすればよいですか?
1つのオプションには、グラフィックスコンテキストを作成し、そのコンテキストに画像を再描画し、目的のアスペクト比で画像を取得し、その画像を画像ビューの画像として設定することが含まれますが、それは余分な処理であり、CPU/GPU と通常の世界の両方を無駄にします時間(特に、大きな画像を含む画像ビューが多数ある場合)。
別のオプションとして、画像ビューと同じサイズの空白のビューを作成し、それをスーパービューのビューの下に挿入し、制約を使用してビューに動的にアタッチし、そのビューのレイヤーでシャドウを有効にすることが含まれます。これには、シャドウのためだけに追加のビューを作成することも含まれます。おそらく最初のソリューションよりも優れた/より効率的なソリューションですが、それでも余分な作業が必要です (CPU に関して)。
私の条件下でシャドウとアスペクト フィッティングの両方を有効にできる追加作業を必要としないオプションはありますか?
ios - initWithFrame 使用時の UIButton の背景画像の縮小:
iOS アプリを設計するのはこれが初めてなので、この動作を正しく理解していることを確認したいと思います。
Photoshop でナビゲーション バーのカスタム バー ボタン アイコンをデザインしました。Photoshop で保存した最終的な画像は 102 x 45 でした。確かに、これらのサイズは iOS 7 のデザイン ガイドラインで推奨されている 44 x 44 よりも大きいことがわかりました。
とにかく、画像をアセット フォルダーに配置し、次のコードを使用してバー ボタン項目をプログラムで設定しました。
ご覧のとおり、フレームの幅と高さを画像の正確なサイズに設定しました。アプリを初めて実行したとき、画像が大きすぎて気に入らなかった。そこで、このステートメントの幅と高さのパラメーターを変更しました。
これで、画像は iPhone の画面で完璧に表示されます。これはiPhone 4s上にあります。
だから私の主な質問は、フレームサイズを変更すると実際に何が起こっているのですか? フレームが実際の画像サイズよりも小さいため、画像はフレーム内に収まるように自動的に縮小されますか?
ios - UIImageViewのアスペクト比?
サイズが320X460UIImageView
の画像があり、高さを450にする必要があります。アスペクト比を維持するために、UIImageView = (320/460)*450 = 313.043 の幅を動的に計算しました。UIImageView の contentMode を UIViewContentModeScaleAspectFit に設定します。画像(320x460)を画像ビューに設定しますが、それはいくらかぼやけています。
注: のサイズUIImageView
を313.043X450に変更しなければ、画像はそのままで非常に鮮明です。それで、私がした間違いは何ですか?