2011-12-14 7 views
0

iPhone専用の初めてのアプリケーションiPadで使用できる機能を実装することにしました。最初に使用するビューを選択したかったのですが、iPadとiPhone用のビューを選択しました

NSString *devy = [[UIDevice currentDevice]model]; 
if ([devy isEqualToString:@"iPad"]) { 
    [window addSubview:viewController.viewCpuIpad]; 
    [window makeKeyAndVisible]; 
} else { 
    [window addSubview:viewController.view]; 
    [window makeKeyAndVisible];  
} 

iPhoneの大丈夫、私はiPadでそれを開いたときにどこが間違っのみ....空白の画面が表示されます。iPhoneやiPadの開口部が、私のデリゲートに私が書きましたか?

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease]; 
    // Override point for customization after application launch. 
    if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) { 
     self.viewController = [[[ViewController alloc] initWithNibName:@"ViewController_iPhone" bundle:nil] autorelease]; 
    } else { 
     self.viewController = [[[ViewController alloc] initWithNibName:@"ViewController_iPad" bundle:nil] autorelease]; 
    } 
    self.window.rootViewController = self.viewController; 
    [self.window makeKeyAndVisible]; 
    return YES; 
} 

あなたはIBを使用したくない場合は、View ControllerのloadViewメソッドでビューを作成することができます(Xcodeののユニバーサルアプリケーションのプロジェクトテンプレートから取られた)

+0

'viewController.viewCpuIpad'は空白ですか? – JoePasq

+0

viewCpuIpadは、より多くの画像とデータを持つUIViewです。 – AleMal

+0

デリゲートのメソッド " - (void)applicationDidFinishLaunching:(UIApplication *)application"のコードを呼び出します – AleMal

答えて

0

Appleの推奨方法です

感謝以下のような:

- (void)loadView 
{ 
    if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) { 
     self.view = // create view for iPad. 
    } else { 
     self.view = // create view for iPhone. 
    } 
} 

(UI_USER_INTERFACE_IDIOMは()のiOS 3.1およびそれ以前をサポートするためのマクロです。)

0

iPadで起動するときに、電話する代わりに、

[window addSubview:viewController.viewCpuIpad];

は、同様にしてみてください

viewController.view = viewCpuIPad。

[ウィンドウaddSubview:viewController.view];

iPadで起動するときに、viewController.viewプロパティを更新しないことをお勧めします。

デフォルトでは、nibを作成すると、viewController.viewはiPhone用に表示されたnibビューに設定されます。

iPadの場合、この[viewcontrollerビュー]プロパティを指定したビューに更新する必要があります。そうでなければ、Hoshiによって提案されているように、2つの異なるNibファイルを用意して、条件に基づいて必要なペン先を読み込むこともできます。

希望するもの:

関連する問題