我听说在XCode 4.5中有一些更改,Storyboard标识符不再被称为标识符,而是Storyboard ID。我试图使用它,但它没有启动任何东西。它总是空白的。我做错了什么?
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Storyboard" bundle:nil];
HistoryViewController* historyVC = [storyboard instantiateViewControllerWithIdentifier:@"histSB"];
使用
[self presentViewController:historyVC animated:YES completion:nil];
OR
[self.navigationController pushViewController:historyVC animated:YES];
OR
[self presentModalViewController:historyVC animated:YES];
查看故事板中设置的屏幕截图:
答案 0 :(得分:3)
这是我在我的应用程序中使用了几次的东西,因为segues是不切实际的。从上面提供的代码和屏幕截图开始,这是我如何连接它:
HistoryViewController *historyVC = [self.storyboard instantiateViewControllerWithIdentifier: @"histSB"];
[self.navigationController pushViewController: historyVC animated:YES];
如果您从iPad上的popopver显示视图控制器,这将非常有用。将具有自己的导航控制器的视图添加到故事板:
请注意,导航控制器的左侧没有segue。以下代码在popover中显示:
HistoryViewController *historyVC = [self.storyboard instantiateViewControllerWithIdentifier: @"histSB"];
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController: historyVC];
UIPopoverController *popover = [[UIPopoverController alloc] initWithContentViewController: navigationController];
然后,您可以将此作为通过segue将其他视图控制器推送到导航控制器的基础(注意视图控制器右侧的那个):
[self performSegueWithIdentifier: @"WhateverComesNextSegue" sender: self];
希望有所帮助。