应用程序适用于iPhone; iPad模拟器只提供黑屏

时间:2013-01-16 19:59:30

标签: ios xcode ios-simulator

这是来自app delegate的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,为简洁起见进行了简化:

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

iPhone上的一切正常。在iPad(或至少模拟器),"查看已加载"日志,但它不是白色屏幕,而是黑色。早些时候我正在玩iPad的故事板,但是我删除了它,我认为我删除了所有文件,现在一切都是从代码运行的。我已经清理了这个项目。我在俯瞰什么?

编辑:以下是Xcode中目标摘要的一个镜头。

enter image description here

2 个答案:

答案 0 :(得分:2)

如果您不使用主故事板或xib,则需要在代码中创建UIWindow

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

答案 1 :(得分:1)

确保在项目设置中清除iPad的故事板。删除故事板时,IMO Xcode不会删除该条目。你应该只在那里配置iPhone的故事板。