0

アプリデリゲートからの私の applicationDidLaunch メソッドは次のとおりです。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[self.window makeKeyAndVisible];

                //This hides the status bar throughout the app.

[UIApplication sharedApplication].statusBarHidden=YES;


NSMutableArray *tabItems = [[NSMutableArray alloc] initWithCapacity:5];

GHHaikuViewController *hvc = [[GHHaikuViewController alloc] init];
hvc.tabBarItem.title = @"Home";
hvc.tabBarItem.image = [UIImage imageNamed:@"53-house.png"];
[tabItems addObject:hvc];

GHComposeViewController *cvc = [[GHComposeViewController alloc] init];
cvc.tabBarItem.title = @"Compose";
cvc.tabBarItem.image = [UIImage imageNamed:@"216-compose.png"];
[tabItems addObject:cvc];

GHWebViewController *wvc = [[GHWebViewController alloc] init];
wvc.tabBarItem.title = @"Buy";
wvc.tabBarItem.image = [UIImage imageNamed:@"80-shopping-cart.png"];
[tabItems addObject:wvc];

GHFeedback *fvc = [[GHFeedback alloc] init];
fvc.tabBarItem.title = @"Feedback";
fvc.tabBarItem.image = [UIImage imageNamed:@"18-envelope.png"];
[tabItems addObject:fvc];

GHSettingsViewController *svc = [[GHSettingsViewController alloc] init];
svc.tabBarItem.title = @"Settings";
svc.tabBarItem.image = [UIImage imageNamed:@"20-gear-2.png"];
[tabItems addObject:svc];

UITabBarController *tbc = [[UITabBarController alloc] init];
tbc.viewControllers = tabItems;
self.window.rootViewController = tbc;

return YES;
}

そしてviewDidLoad、これは最初のView Controllerからのもので、わかりやすくするために簡略化されています:

-(void)viewDidLoad {
[super viewDidLoad];
self.view.backgroundColor = [UIColor whiteColor];
background.backgroundColor = [UIColor whiteColor];
[self.view addSubview:background];
NSLog(@"View loaded.");
}

iPhoneではすべて正常に動作します。iPad(または少なくともシミュレーター)では、「ロードされたログを表示」しますが、白い画面ではなく、ただの黒い画面です。以前は iPad のストーリーボードをいじっていましたが、それを削除し、すべてのファイルを削除したと思います。今ではすべてがコードから実行されています。プロジェクトをクリーンアップしました。私は何を見落としていますか?

編集: これは、Xcode でのターゲットの概要のショットです。

ここに画像の説明を入力

4

2 に答える 2

2

メインストーリーボードまたはxibを使用しない場合は、次のUIWindowコードを作成する必要があります。

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
于 2013-01-16T20:17:17.663 に答える
1

プロジェクト設定で iPad のストーリーボードがクリアされていることを確認してください。ストーリーボードを削除しても、IMO Xcode はエントリを削除しません。そこでは、iPhone 用のストーリーボードのみを構成する必要があります。

于 2013-01-16T20:15:40.190 に答える