0

我在视图控制器上设置了两个后退按钮,通过从操作按钮拖动退出视图来退出视图控制器。

我现在正在尝试以编程方式进行。我有

- (IBAction)goBack:(UIButton *)sender {
    NSLog(@"go back");
    //[self.navigationController popViewControllerAnimated:YES];

    [self dismissViewControllerAnimated:TRUE completion:^{
        NSLog(@"Test");

    }];
    NSLog(@"are we back");
}

这个:

[self.navigationController popViewControllerAnimated:YES];

似乎什么也没做。但目前的解雇方法似乎有效。

问题出在我的主要观点中

-(IBAction) returnToMainView1:(UIStoryboardSegue *) segue
{
    NSLog(@"return to main view");
    self._mytopconsoleview=nil;
    self._mybottomconsoleview=nil;
    self.viewB=nil;
    [self animateRotation:[[UIApplication sharedApplication] statusBarOrientation]];
}

这不再被称为。我如何关闭当前视图控制器并在主视图上调用一个方法,就像我拥有的​​那样。

麦克风

4

1 回答 1

1

只是重申我在评论中所说的话——这显然把你推上了正确的道路:)

基本上,您希望将returnToMainView1方法中的逻辑移动到 viewDidAppear。每当视图出现时(如其名称所示),例如在关闭模式视图控制器之后,都会调用此方法。

关于导航视图方案,只需根据您的呈现方式关闭即可。如果您使用模态视图控制器,请使用,dismissViewControllerAnimated:completion或者如果您使用导航控制器,请使用popViewControllerAnimated:.

于 2013-03-03T06:05:30.550 回答