我首先构建了我的应用程序的两个版本,分别为3.5英寸屏幕和4英寸屏幕,只有不同的故事板。我将3.5情节提要引入到4英寸项目中,并在appDelegate.m中使用以下代码让程序运行适当的故事板。
UIViewController *vc;
if([[UIDevice currentDevice]userInterfaceIdiom]==UIUserInterfaceIdiomPhone)
{
if ([[UIScreen mainScreen] bounds].size.height == 568.0f)
{
NSLog(@"IPHONE IS WORKING");
UIStoryboard *storybord = [UIStoryboard storyboardWithName:@"Main.storyboard" bundle:nil];
vc = [storybord instantiateInitialViewController];
}
else
{
UIStoryboard *storybord = [UIStoryboard storyboardWithName:@"MainFour.storyboard" bundle:nil];
vc = [storybord instantiateInitialViewController];
}
}
else
{
UIStoryboard *storybord = [UIStoryboard storyboardWithName:@"iPad" bundle:nil];
vc = [storybord instantiateInitialViewController];
}
[_window setRootViewController:vc];
[_window makeKeyAndVisible];当我使用这个时,我会得到一个错误:
“在bundle NSBundle中找不到一个名为‘NSBundle’的故事板”
即使我尝试使用没有导入的情节提要,如果缺少上面的代码,也会发生错误。因此,我假设错误存在于故事板的名称中。在项目导航器中,故事板名为"Main.storyboard",但调用该名称找不到它。我做错了什么?谢谢。
发布于 2014-04-29 14:56:11
从您指定的名称中删除.storyboard扩展。
故事板:bundle: 为指定的情节提要资源文件创建并返回情节提要对象.
nil,则此方法将引发异常。https://stackoverflow.com/questions/23368103
复制相似问题