Push在导航控制器(故事板)中不起作用

时间:2016-02-29 10:26:03

标签: ios objective-c uiviewcontroller segue show

我将ViewController(1)嵌入到导航控制器中。在这个ViewController的导航栏中,我添加了一个按钮,并对另一个ViewController(2)进行了control-drag-action。启动应用程序并单击按钮时,不会执行推送操作(显示)。

我所做的是为(2)分配了一个新创建的类,所以我可以通过编程方式自定义它。在分配之后,我再次在我的故事板中设置了我的按钮。它仍然无法正常工作。我没有将按钮分配到故事板导航按钮,因为在另一个视图控制器(3)中,它没有那个工作。

我是否必须指定一个带有segue的按钮方法?但为什么它在(3)中起作用?我不知道我应该发布什么代码,因为这个问题看起来很简单。

编辑: 在图像中,您可以看到导航控制器,(1)带有地图视图和(2)。我不能从“选择”按钮“推”到(2)。我是否必须实现导航控制器并将(1)和(2)都添加为子视图控制器?

enter image description here

2 个答案:

答案 0 :(得分:1)

嘿@Vancore只需按照以下步骤进行操作即可 1.获取两个视图控制器Fist和Second 2.选择First View Controller并嵌入导航控制器 3.在右侧的导航栏中添加按钮 4.选择刚添加的导航栏上的按钮,然后右键单击并将其拖动到第二个视图控制器并释放单击 5.选择显示 6.运行项目,它没有任何问题,工作正常。

另一种方式
1.在第一个视图控制器中为按钮创建IBAction()。第一视图控制器选择黄色圆形控制器按钮。然后右键单击并将其拖动到第二个视图控制器并释放单击。选择显示
3。在属性检查器中将标识符设置为segue,例如“mySegue”。
4。使用以下代码在IBAction方法中执行segue

 [self performSegueWithIdentifier:@"mySegue" sender:self];

答案 1 :(得分:0)

我自己解决了。

基本上我所做的是创建一个自定义导航控制器并通过以下方式将他(1)和(2)作为子视图控制器:

[self addChildViewController: [(1)];
[self addChildViewController: [(2)];

我不知道这是否是基于故事板的应用程序的最佳方法,但它对我有用。

相关问题