1

iPhoneとiPadアプリをユニバーサルアプリにマージすることに関してたくさんの質問と回答を見てきましたが、それは私がやりたいことではありません。私がやろうとしていることは、アプリの購入でiPadインターフェースのロックを解除し、条件を使用して正しいインターフェースを表示することです。インターフェイスを購入した場合、アプリはiPad Nibを表示し、そうでない場合は、iPhoneアプリケーションと同じように表示します(アプリをスケーリングするオプションなどがあります)。条件は非常に単純で、すでに実装していますが、私が遭遇する問題は次のとおりです。IAPを購入しない場合、iPadはiPhone Nibを表示しますが、通常の方法では表示されません。これは、通常表示される黒い境界線のある中央ではなく、拡大縮小するオプションのない隅にあります。誰かが私がそれを設定する方法を知っているので、私はこの問題を修正しますか?私'

4

2 に答える 2

3

Info.plistiOSアプリのファイルにはUIDeviceFamily、アプリがネイティブにサポートするデバイスを一覧表示するキー、が含まれています。キーの値が1、または1を含む配列の場合、アプリはiPhoneとiPodTouchをネイティブにサポートします。値が2の場合、または2を含む配列の場合、アプリはiPadをネイティブにサポートします。

アプリがiPadをサポートしていると表示された場合UIDeviceFamily、アプリはiPhoneラッパーモードではなく、ネイティブiPadモードで実行されます。

このInfo.plistファイルはアプリバンドルの一部であり、アプリバンドル内のファイルを変更することはできません。

したがって、実行時にシステムのネイティブiPadサポートを有効または無効にする方法はありません。アプリのトップレベルビューを、子を中央に配置して拡大縮小するラッパービューに移動し、そのラッパービューをUIWindowのサブビューとして使用する必要があります。

UIDeviceFamily情報プロパティリストのキーリファレンス

于 2012-05-29T21:55:52.867 に答える
2

残念ながら、これは不可能です。iPadは、アプリがiPadに対応していることを認識し、画面をフルサイズで描画するように指示します。iPadでiPhonexibファイルを表示した場合でも、設定したパラメーターを使用して、フルスクリーンに収まるように拡大縮小さUIViewAutoresizingMaskれます。

あなたのサイズをUIWindowiPhoneサイズ(網膜を考慮に入れることを忘れないでください)にして中央に配置することを強制することも考えられますが、これがどのように/どのように機能するかは100%わかりません。UIView各フレームを変更する必要がある場合があります。わからない。

于 2012-05-29T17:53:18.183 に答える