2013-05-01 79 views
0

我收到的时候我尝试移动到另一个视图此异常:一旦点击按钮,我如何从View Controller导航到另一个View Controller?

终止应用程序由于未捕获的异常“NSInternalInconsistencyException”,理由是:“在包无法加载NIB:‘一个NSBundle(加载)’名为” NextViewController'

NextViewController *temp = [[NextViewController alloc]initWithNibName:@"NextViewController" bundle:nil]; 
[self presentViewController:temp animated:YES comletion:nil]; 
+0

你有文件NextViewController.xib在您的项目? – 2013-05-01 09:10:20

+0

把self.navigationController放在自己的位置。 – Balu 2013-05-01 09:11:21

+0

你在添加导航控制器吗? – Balu 2013-05-01 09:20:53

回答

0

首先创建的UINavigationController对象设置为在RootViewController的那一套按钮后rootview控制器第一视图和推动nextvie。

//for mainviewcontroller 
UINavigationController *navigation =[[UINavigationController alloc]initWithRootViewController:viewcontroller]; 
[self.navigationController pushViewController:nextview animated:YES]; 
+0

我用storyboard不是xib。此外,我正在登录屏幕上工作,所以我不需要导航控制器,因为我不需要任何用户在登录成功后返回登录屏幕。 – SaedH 2013-05-01 12:24:18

1

异常说,你没有在你的项目中NextViewController.xib文件。仔细检查你是否有。

另外,还要确保你已经给了NextViewController文件的所有者类NextViewController.xib

enter image description here

+0

我用故事板不xib。此外,我正在登录屏幕上工作,所以我不需要导航控制器,因为我不需要任何用户在登录成功后返回登录屏幕。 – SaedH 2013-05-01 12:22:47

1

首先,检查你是否真的有NextViewController.xib? 如果否,那么你如何加载你的笔尖文件? 另外,检查你是否有NextViewController作为文件的所有者类

如果是的话,

检查,如果使用有navigationcontroller? 如果是,那么你的代码更改为:

NextViewController *temp = [[NextViewController alloc]initWithNibName:@"NextViewController" bundle:nil]; 
[self.navigationcontroller presentViewController:temp animated:YES comletion:nil]; 
+0

为什么我需要另一个.xib?首先,我使用storyboard而不是xib。 此外,我正在登录屏幕,所以我不需要navigationcontroller,因为我不需要任何用户登录成功后返回登录屏幕。 – SaedH 2013-05-01 09:28:55

+0

在你的问题中,你有没有提到你已经使用故事板?或者您还没有使用导航控制器?具体在你的问题得到正确的答案。发布问题前请参阅故事板开发人员文档。 – Anil 2013-05-01 09:34:47

+0

对不起,我是iOS新手,这是我发布在stackoverflow上的第一个问题。 – SaedH 2013-05-01 09:41:58

0

确保你有你的项目命名为NextViewController笔尖。并检查它是否添加到您的捆绑资源。见截图enter image description here

+0

我用storyboard不是xib。此外,我正在登录屏幕上工作,所以我不需要导航控制器,因为我不需要任何用户在登录成功后返回登录屏幕。 – SaedH 2013-05-01 12:23:33

+0

也许你应该说你的帖子中使用了storyboard而不是xib – janusbalatbat 2013-05-01 12:58:11

0

如果使用SWIFT 3.0,试试下面的代码

//Here you can initiate your new ViewController 
    let storyBoard : UIStoryboard = UIStoryboard(name: "Main", bundle:nil) 

    let nextViewController = storyBoard.instantiateViewController(withIdentifier: "VadiveluPageViewController") as! VadiveluPageViewController 
    self.present(nextViewController, animated:true, completion:nil) 

    //if you need navigation controller use below 
//self.navigationController?.pushViewController(nextViewController, animated: true) 
相关问题