2011-08-31 4 views
2

私は網膜ディスプレイをサポートする必要がありますが、アプリケーションのサイズは小さくなければなりません。したがって、私は非網膜表示でアプリを起動し、網膜画像を取り込み[必要に応じて]網膜表示画像に切り替える予定です。 唯一の問題は、インタフェースビルダーで構築されたUIViewのいくつかと、インターフェースビルダーのイメージソースがメインバンドルであることを知る限り、網膜画像がドキュメントフォルダにダウンロードされることです。ドキュメントフォルダからのインタフェースビルダーイメージ

実行時にインタフェースビルダーに新しいバンドルを動作させる方法はありますか?

よろしく M

+0

なぜアプリサイズを小さくしたいですか?あなたが大量の画像を持っていない限り、網膜画像はサイズをそれほど大きくするべきではありません。その場合、アプリは無制限にはなりません! – msgambel

+0

私たちはすでに約17 MBの大きさのエキサイティングなアプリでモジュールを書いています。私たちは19 MBの障壁を通過することは許可されていませんので、もしユーザーが "このアプリケーションは20 MB以上の大きさのアラート"を受信する(このアラートはダウンロード数を傷つけるでしょう...) – m88m

答えて

0

インタフェースビルダーは、インターフェイスを事前ビルドし、すべてをオールインワンパケットとしてパッケージ化するために使用されます。そしてそれはメインバンドルからその画像を取ります。そして、実行時にメインバンドルに書き込むことはできません。だから...あなたは立ち往生しています。あなたは本当にあなたが話している作業のダイナミックなスタイルを必要とし、ドキュメントフォルダから、あなたのインターフェイスのために表示された画像を得ることができるようにしたい場合は

しかし...

、あなたはこれを行うことができます:

あなたのIBの低解像度画像が、あなたが作業しているものを「見る」ようにしてください。しかし、viewDidLoadでは、画像を使用する各アイテムについて、高解像度画像を表示し、Documentフォルダから高解像度画像を読み込む.imageプロパティを動的に変更する必要があるかどうかを確認します。これを行うには、いくつかのIBOutletsが必要ですが、それはうまくいくでしょう。

+0

私はすでに考えていた一度viewLoaded(サブビュー...)がすべてのUIImageに渡すカテゴリを書くことについては、それは厄介です:)とにかくありがとう! – m88m

0

私は、彼らがPNGではありませんもちろんのない限り、画像はアプリのサイズにあまり違いを確認する必要があり、あなたが詳細hereを読むことができるとは思わないけど。

その他の解決策は、サーバー上にすべての画像を保存することです。ユーザーが最初にアプリを開くと、デバイスの種類、つまりiPhone 4と3/3GSがあるかどうかを確認できます。 。

関連する問題