如何从操作表返回上一个视图

时间:2013-03-03 02:02:20

标签: ios objective-c ios5

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

我正在尝试以编程方式执行此操作。我有

- (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]];
}

并且不再调用它。如何解除当前视图控制器并在主视图上调用方法,就像我所拥有的那样。

麦克

1 个答案:

答案 0 :(得分:1)

重新重复我在评论中所说的内容 - 这显然会让你走上正确的道路:)

基本上,您希望将returnToMainView1方法中的逻辑移至viewDidAppear。只要出现一个视图(如其名称所示),例如在解除模态视图控制器之后,就会调用此方法。

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