2011-08-05 13 views
0

普遍的なアプリの2つの別々のアプリケーションデリゲートを作成する必要がありますか? 1つのmyAppDelegate、次にmyAppDelegate_iPhoneおよびmyAppDelegate_iPadはサブクラスですか?理由はiPhoneにはNavControllerのIBOutletが必要ですが、iPadはUISplitViewControllerでなければなりません。ユニバーサルアプリケーションの2つの別々のアプリケーション代理人にする

また、iPhoneとiPadの間のアクションをどのように分離するのですか。たとえば、iPhoneのボタンを押すとビューが表示されることがありますが、iPadではフルスクリーンのプッシュではなく小さなウィンドウのポップアップが必要です。 if/elseステートメントを使ってiPad(uiswitchviewcontrollerによって)かどうかをチェックし、そこから行くのですか?

if (NSClassFromString(@"UISplitViewController") != nil && UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { 
     //currentDeviceType = iPad; 
    } 
    else { 
     //currentDeviceType = iPhone; 
    } 

答えて

0

この質問は同様の行にあるようです。

Universal iPhone/iPad AppDelegate

アップルからこのドキュメントにも役立つことを証明することがあります。

Introduction to Universal Apps

+0

おかげで、あなたは、iPad上で私のViewControllerの回転を有効にする方法をすぐに教えてくれますか? – Jon

+0

申し訳ありませんが、あまりにもそれに精通していない:P –

0

二つの別々のアプリケーションデリゲートを取る必要はありません。条件に基づいてコードを書くことができます...

if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad){} 

これはデバイスを自動的に検出します。

+0

私は、1つのファイルで私のアプリケーションデリゲートにUINavigationControllerとUISplitScreenControllerを追加することができますか? – Jon

+0

はいできます。適切なアウトレットを設定し、それに応じてアプリケーションデリゲートコードを維持するだけです。 –

0

デバイス上での回転を有効にするには、ビューコントローラのALL FOR

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
    // Return YES for supported orientations 
    return YES; 
} 

にYESを返すようにする必要があります。

あなたもまた、心の中でオーバーフローが新しい質問を尋ねられることを好むスタックその維持のXcode 4

の下であなたのplistや情報へのあなたのサポートの向きを追加する必要がある場合、質問トピックの変更:)

関連する問題