3

次のコードを AppDelegate に追加しました。

if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
    self.viewController = [[ViewController alloc] initWithNibName:@"ViewController_iPhone" bundle:nil];
    NSLog(@"iPhone found");
} else {
    self.viewController = [[ViewController alloc] initWithNibName:@"ViewController_iPad" bundle:nil];
    NSLog(@"iPad found");
}

iPad 2 で実行している場合、userInterfaceIdiom は常に UIUserInterfaceIdiomPhone と等しくなります。iPad 2 は iOS 6.1.3 で実行しています。

何が問題なのかわかりません。

どんな助けでも大歓迎です!

前もって感謝します!

4

2 に答える 2

0

これを使って

#define IS_IPAD (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)

if (!IS_IPAD) {
    self.viewController = [[ViewController alloc] initWithNibName:@"ViewController_iPhone" bundle:nil];
    NSLog(@"iPhone found");
} else {
    self.viewController = [[ViewController alloc] initWithNibName:@"ViewController_iPad" bundle:nil];
    NSLog(@"iPad found");
}
于 2013-05-01T14:14:13.863 に答える