0

私のiPhoneアプリのルートコントローラーはコードに組み込まれています。私は今アプリをユニバーサルにしており、iPad Xibをリンクしたいと考えています。問題は、ipad xib の代わりに iPhone 画面がまだ読み込まれることです。

私のホームコントローラーの名前はIChomeContoller.hおよびmです

ここのところ:

  1. iPad xibを追加IChomeContoller~ipad.xib

  2. IChomeContollerIB で自分のクラスに設定する

  3. new referencing outletIB のファイル所有者に接続されました

この例の appdeleage フォームのコードでも試しましたが、まだ発生していません

私の他のすべての画面はxibsで構築されており、ipad xibは問題ありません

4

3 に答える 3

1

Xcode でプロジェクトをクリックして、ターゲットを選択します (一番下にあるはずです)。ユニバーサル アプリの場合は、iPhone と iPad の両方のメイン画面 Xib のドロップダウン ボックスが表示されます。iPad用に別のものを選択すると、うまくいくはずです。

編集

よし、これを試してみてください:

メイン ビュー コントローラーでは、init メソッドで appdelegate によって初期化されます。

- (id)init {

    if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) {
        self = [super initWithNibName:@"<Your iPad xib file here>" bundle:nil];
    }
    else {
        self = [super initWithNibName:@"<Your iPhone xib file here>" bundle:nil];
    }

    if (self) {

        // Everything else you got in your init function
    }

    return self;
}
于 2012-10-02T10:33:56.463 に答える
1

ソート済み

 - (id)init
{

[[NSBundle mainBundle] loadNibNamed:@"ICHomeController" owner:self options:nil];

ルートビューコントローラーに追加

于 2012-10-04T18:26:03.777 に答える
0

IChomeContoller~ipad.xibターゲットに追加されましたか? Xcode では、プロジェクト ナビゲーター (左側) でファイルを選択し、ファイル インスペクター (右側) の [ターゲット メンバーシップ] セクションでチェックされていることを確認します。

于 2012-10-02T10:35:59.470 に答える