0

背景画像を設定する必要があるユニバーサル iOS アプリの開発を開始しました。

iPhone、iPhone-retina、iPhone5、iPhone5-retina & iPad、iPad-retina に 3~4 個の異なるサイズの画像を使用する代わりに、1 つの最高解像度の画像 (1024*780 など) を使用したいだけです。上記のすべてのデバイスに適合します。どのように???

self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"sfond-appz.png"]];

小さいデバイスの正確な画面サイズを占有していません。それは縮小しています。

ご意見をお聞かせください!!!

4

2 に答える 2

0

Apple がディスプレイの種類ごとに異なる画像を使用することを提案している場合、特定の理由があり、その理由はメモリです。
表示サイズが大きくなると、デバイスで使用できるメモリも増加します。これは、画像が大きいほど多くのメモリが必要になるためです。実行時にそれらのサイズを変更したい (伸縮しない) 場合でも、最初に開くと、解放するまでそのメモリが占​​有されます。占有するメモリは、ファイルサイズを処理する必要はありません。
それでも試してみたい場合は、実行時に画像のサイズを変更する(ストレッチしない)のに役立つこのライブラリを見てくださいNYXImagesKit

于 2013-07-10T12:17:36.040 に答える
0

App Store のアプリの 1 つで同じことをしています。メイン メニュー ビューでは、UIImaveView を背景として使用し、Interface Builder でモードを Aspect Fit に設定します。ストラットとスプリングを使用して、エッジに合わせます。

ユニバーサル アプリの場合、iPhone と iPad の両方のストーリー ボード (または .xib ファイル) でこの UIImageView を作成し、同じ画像ファイルを使用します。

ただし、Retina ディスプレイ用の 2x バージョンはまだあります。したがって、すべてのデバイス、向き、および解像度をカバーするために、2 つの画像のみを使用します。

各デバイスに合わせて背景画像を作成すると、メモリの消費量は少なくなりますが、明らかにバンドル サイズが大きくなります。私の場合、目標はバンドル サイズを小さく (セルラー配信の場合は 50 MB 未満) に保つことであり、メモリに余裕がありました。

于 2013-07-10T12:22:21.923 に答える