0

iPhone用のアプリケーションを作成しましたが、iPadでフルスクリーンで実行できるようにユニバーサルにしたいと考えています。

アプリのサイズは40MBで、バンドルに保存されている多くの画像を表示します。それらはiPhone画面用のサイズです。これを管理するための最良の方法は何ですか?

iPad用に大きな画像を追加すると、アプリは非常に大きくなります。iPadコンテンツ用とiPhoneコンテンツ用に1つのソースフォルダーを作成できますか?顧客がアプリを購入したときに正しいフォルダーがダウンロードされますか?私はそれについて少し混乱しています、そして私の検索は何にもつながりません。

また、iPhoneとiPadのストーリーボードシーンで同じクラス(.h / .m)を使用できることも読みました。それでは、iPadで異なるコードについてはどうですか、これを管理する方法は?そして、それはどのようなコードでしょうか?私はこれについて少し混乱しています、いくつかのガイダンスは素晴らしいでしょう。

私はストーリーボードでXcode4を使用していますが、アプリは非常に基本的です。ボタン、テキストフィールド、画像、ラベル、アクションシートを備えたUITableViewsとUIViewsだけで、データを管理するための.plistです。

これまでのところ、ターゲットを「ユニバーサル」に変更し、iPad用のストーリーボードファイルを追加し、いくつかの基本的なガイドラインを待ってから何かを始めました。私の問題を理解していただければ幸いです。ありがとう。:-)

4

1 に答える 1

3

iPad用に大きな画像を追加すると、アプリは非常に大きくなります

それは管理可能ですが、両方のデバイスのすべての画像をバンドルに含め、歪ませることなく可能な限り圧縮するようにしてください。

注:アプリが消費するストレージの量を減らすための本当に良い戦術は、可能な限り背景画像を並べて表示することです...特にiPadRetinaで。

それでは、iPadで異なるコードについてはどうですか、これを管理する方法は?そして、それはどのようなコードでしょうか?私はこれについて少し混乱しています、いくつかのガイダンスは素晴らしいでしょう。

if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) {
    //do something for iPad
}else{
    //do something for iPhone/iPod Touch
}

これは、特定のデバイスタイプのみを実行する必要があるコードを分離する方法です。これをすべてに使用する必要はありません。多かれ少なかれ、オブジェクトの寸法や特定のデバイスでのみ使用できるオブジェクト(例:)に関係するものだけですUIPopOverController

2つのユーザーインターフェイスイディオムは次のとおりですUIUserInterfaceIdiomPadUIUserInterfaceIdiomPhone

さらに、これは使用する必要のある画像の命名スキームです。

  • ImageName.png-iPhone/iPod用
  • ImageName@2x.png-iPhone /iPodRetinaの場合
  • ImageName〜ipad.png-iPad用
  • ImageName@2x~ipad.png-iPadRetinaの場合

これらすべての画像に正しい名前が付けられている場合、これにより、アプリでの画像の使用方法が大幅に簡素化されます。

UIImage *myImage = [UIImage imageNamed:@"ImageName"];

「ImageName」を使用するだけで、iOSはデバイスの種類と解像度に応じて正しい画像を自動的に使用します。

于 2012-09-05T00:41:42.970 に答える