UIBarButtonItem转到下一个viewcontroller

时间:2013-11-13 18:52:03

标签: ios iphone objective-c uiviewcontroller

我以编程方式创建了一个UIBarButtonItem,并希望它在推送时转到下一个ViewController。

这就是我在viewDidLoad中创建自定义UIBarButtonItem的方法:

  UIBarButtonItem *foundButton = [[UIBarButtonItem alloc]
                               initWithTitle:@"Found it!"
                               style:UIBarButtonItemStyleBordered
                               target:self
                               action:@selector(foundView)];

之后我创建了这个方法:

-(void)foundView:(id)sender {

 UIViewController *foundVC = [self.storyboard instantiateViewControllerWithIdentifier:@"foundView"];

 [self.navigationController pushViewController:foundVC animated:YES];
}

点击UIBarButtonItem之后我想去的ViewController有一个Storyboard ID:“foundView”。

我在这里做错了什么?

2 个答案:

答案 0 :(得分:4)

更改您的代码:

UIBarButtonItem *foundButton = [[UIBarButtonItem alloc]
                               initWithTitle:@"Found it!"
                               style:UIBarButtonItemStyleBordered
                               target:self
                               action:@selector(foundView:)];

您在选择器:之后忘记了foundView,因此您不会调用该方法。

答案 1 :(得分:1)

您可以从segueViewControllerA创建ViewControllerB。请注意,此segue连接两个视图控制器。不是视图控制器的按钮。现在,在故事板上,为 segue 指定一个描述性名称。例如:segueFoundView

现在,这样做:

-(void)foundView:(id)sender {
    [self performSegueWithIdentifier:@"segueFoundView" sender:self];
}

编辑:更正后的拼写