我有3个不同设备屏幕尺寸的3个故事板。当按下3个故事板的按钮时,我想从主ViewController移动到第二个ViewController。这是代码:
在AppDelegate.m中
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone){
UIStoryboard *storyBoard;
CGSize result = [[UIScreen mainScreen] bounds].size;
CGFloat scale = [UIScreen mainScreen].scale;
result = CGSizeMake(result.width * scale, result.height * scale);
if(result.height == 1136){
storyBoard = [UIStoryboard storyboardWithName:@"Main_iPhone" bundle:nil];
UIViewController *initViewController = [storyBoard instantiateInitialViewController];
[self.window setRootViewController:initViewController];
}
else {
storyBoard = [UIStoryboard storyboardWithName:@"Main_iPhone4" bundle:nil];
UIViewController *initViewController = [storyBoard instantiateInitialViewController];
[self.window setRootViewController:initViewController];
}
}
return YES;
}
移动到第二个ViewController的代码:
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main_iPhone/Main_iPhone4/Main_iPad" bundle: nil];
ArcadeView *svc = [storyboard instantiateViewControllerWithIdentifier:@"arcade"];
self.window.rootViewController = svc;
但是,当我使用上面的代码时。 XCode告诉我
"找不到名为的故事板 ' Main_iPhone / Main_iPhone4 / Main_iPad'在捆绑NSBundle。
我该如何解决这个问题?
答案 0 :(得分:0)
因为您没有名称为@" Main_iPhone / Main_iPhone4 / Main_iPad"的故事板。
为了使其按照您想要的方式工作,在每个故事板中做得更好,制作相同的过渡并为它们签署相同的标识符。 对于过渡,请使用:
[self performSegueWithIdentifier:@"ShowMainMenu" sender:self]
但总的来说,我建议你学习更多关于约束的知识。所以它会更容易