繁体   English   中英

单击按钮后,如何从视图控制器导航到另一个视图控制器?

[英]How i can navigate from View Controller to another View Controller once clicking on button?

当我尝试移动到另一个视图时出现此异常:

由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“无法加载包中的 NIB:“NSBundle(已加载)”,名称为“NextViewController”

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

异常表示您的项目中没有NextViewController.xib文件。 仔细检查您是否拥有它。

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

在此输入图像描述

首先,检查一下你是否真的有NextViewController.xib 如果否,那么如何加载你的nib文件? 另外,检查你是否将NextViewController作为File的Owner类提供

如是,

检查,如果你使用了导航控制器 如果是,请将您的代码更改为:

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

首先,在rootviewcontroller上的set按钮之后创建uinavigationcontroller对象第一个视图集作为rootview控制器并推送nextvie。

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

确保你的项目中有一个名为NextViewController的nib。 并检查它是否添加到您的捆绑资源上。 看截图 在此输入图像描述

如果您使用的是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)

在主故事板中创建 2 个视图控制器。 转到主故事板并在主故事板中选择一个视图控制器并将其拖放到另一个视图控制器中并选择显示方法。

确保在第二个视图控制器中创建类和标识符名称。

转到编辑器选项并选择导航方法。 并将以下代码放入按钮动作功能中。

self.performSegue(withIdentifer: "IdentiferName", sender: self)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM