ポートレートモードとランドスケープモードのUIImageのサイズ変更

ipad iphone
ポートレートモードとランドスケープモードのUIImageのサイズ変更

iPadのポートレートモード用に設計された画像がいくつかあります。 それらはフルスクリーンをカバーするように設計されており、iPadをランドスケープに回転させると、ランドスケープモードでスクリーンビューをカバーするようにイメージビューのフレアを調整しますが、アスペクト比と画像のスケールを突然乱します比率第二に、サムネイル画像付きのテーブルビューがあり、それらのサムネイル画像はユーザーによって保存されます(NSUserDefaultsを使用)が、これにより、テーブルビューのスクロールが遅くなります。 Webから画像を取得する場合、遅延読み込みを使用できることはわかっていますが、この状況ではどうなりますか。

助けてください…​..

  2  1


ベストアンサー

最初の質問:http://developer.apple.com/library/ios/#documentation/uikit/reference/UIView_Class/UIView/UIView.html%23//apple_ref/occ/instp/UIView/を設定する必要がありますcontentMode [UIImageViewのcontentModeプロパティ]、UIViewから継承されます。 デフォルトはUIViewContentModeScaleToFillですが、UIViewContentModeScaleAspectFitが必要だと思われます。

第二に、それは再び遅延読み込みです、私は怖いです。 テーブルビューは、必要な場合にのみ割り当てられるセルを中心に完全に方向付けられており、セルを作成するときに、ユーザーインターフェースのストールにつながるため、画像を同期的にロードしたくないでしょう。 特に古いデバイスやiPodでは、ディスクの速度があまり良くなく、NSUserDefaultsに保存することで、高価な変換が必要になります。 それらをドキュメントまたはキャッシュフォルダーに配置し、ファイル名をユーザーのデフォルトのままにしておく方が速い場合があります。

0


AspectFillはアスペクト比を維持し、コンテナ全体を埋めますAspectFitはアスペクト比を維持し、1つの次元が境界に達するまでコンテナを埋めます-したがって、画像の周囲に境界線があります。

サムネイルをどのように読み込んでいますか? 小さい場合は、画像をNSDictionaryに保存するか(編集中に変更する場合は注意してください!)、辞書にファイル参照を保存できる場合があります。

0


最終的に、ポートレート版とランドスケープ版に異なる画像を使用することになりました…​ そしてTableviewの場合、私はlazyloadingを使用することになりました

0


タイトルとURLをコピーしました