从一个ViewController移动到另一个

Jon*_*ert 0 objective-c uiviewcontroller ios segue

我的视图控制器中有一个按钮,我需要,一旦点击,将用户发送到下一个视图控制器,但它不起作用.我将ctrl从我的按钮拖动到我想要的控制器,连接是作为UIButton选择touchUpInside.我也命名了segue,但仍然没有.按钮本身甚至没有识别出触摸已经发生并且没有将我发送到任何地方.这是我的主视图控制器下面的一些代码:

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.

    JDTHMainMenu *theMenu = [[JDTHMainMenu alloc] initWithFrame:self.view.bounds];
    [self.view addSubview:theMenu];

}

- (IBAction)matchViewControllerButton:(UIButton *)sender
{
    UIButton *matchScreenButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    [matchScreenButton addTarget:self action:@selector(goToMatchView:sender:) forControlEvents:UIControlEventTouchDown];
    [matchScreenButton setUserInteractionEnabled:YES];
    NSLog(@"Open Match View");


}
- (void)goToMatchView:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([segue.identifier isEqualToString:@"pushToMatchView"]) {
        JDTHMatchScreen *vc2 = (JDTHMatchScreen *)segue.destinationViewController;
        vc2.name = self.textField.text;
    }
}
Run Code Online (Sandbox Code Playgroud)

我已将此视图控制器嵌入到navcontroller中,这是根控制器.我读到某个地方,也许我需要在我的appdelegate上添加一些东西,但没有什么是清楚的.我将发布任何更重要的代码,我仍处于学习的早期阶段,所以我不确定哪些内容是相关的.

jam*_*075 5

您没有推送/呈现视图控制器,只是为v2.name指定了值.

您必须触发segue以从按钮推送/显示第二个视图控制器:

- (void)goToMatchViewController
{
    [self performSegueWithIdentifier:@"YOUR_SEGUE_IDENTIFIER" sender:self];
}
Run Code Online (Sandbox Code Playgroud)

此代码可prepareForSegue:用于将var'值分配给第二个VC.检查文档以了解更多信息.

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([segue.identifier isEqualToString:@"pushToMatchView"]) {
        JDTHMatchScreen *vc2 = (JDTHMatchScreen *)segue.destinationViewController;
        vc2.name = self.textField.text;
    }
}
Run Code Online (Sandbox Code Playgroud)

prepareForSegue,apple的doc