我Storyboard
UINavigationController
我用搜索栏创建了第一个屏幕
我已经通过IB向故事板添加了第二个viewcontrol
如何将第二个viewcontroller推送到navigationcontroller?
我试过了
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar
{
[searchBar resignFirstResponder];
ViewController *screen2 = [[ViewController alloc] initWithNibName:@"ViewController2" bundle:nil];
[self.navigationController pushViewController:screen2 animated:YES];
}
我已将第二个视图控制器的Custom Class
设置为ViewController2
但是当我运行应用程序并单击键盘上的搜索按钮时,我收到以下错误
Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Could not load NIB in bundle: 'NSBundle (loaded)' with name 'ViewController2''
答案 0 :(得分:1)
您收到的错误是因为Xcode
找不到名为ViewController2的xib
。
您可以致电self.performSegueWithIdentifier(@"identifierToViewController")
答案 1 :(得分:0)
首先确保您的第二个视图控制器类名是:ViewController2
之后在storyboard中将View Controller的类名和Storyboard Id作为@“ViewController2”,请参考屏幕截图。
实际上,您使用错误的方法来创建UIViewController的实例,因为它在您使用xib文件时使用。
更改您的代码:
ViewController2 *screen2 = [self.storyboard instantiateViewControllerWithIdentifier:@"ViewController2"];
[self.navigationController pushViewController:screen2 animated:YES];