无法调用UITabBarController上的后退按钮

时间:2012-05-15 07:04:39

标签: ios ios5 uinavigationcontroller uitabbarcontroller

我有一个标签栏控制器,导航控制器内有一个视图。其中一个按钮弹出一个模态视图。我将我的起始视图设置为模态的委托,并调用以下内容:

- (void)dischargeSaveComplete:(dischargeView *)controller
{
    [self dismissViewControllerAnimated:YES completion:nil];

    [self.navigationController popViewControllerAnimated:YES];
}

它正确地取消了模态视图,但它没有调用后退按钮。我是否需要做其他事情,因为它在标签栏控制器内?

我尝试将两者设置为动画否,如下所示,它也不起作用。

- (void)dischargeSaveComplete:(ehrxEncounterDischargeView *)controller
{
    [self dismissViewControllerAnimated:NO completion:nil];

    [self.navigationController popViewControllerAnimated:NO];
}

根据其中一个答案找到解决方案,因为我在标签栏控制器中,我不得不从第一个视图调用popviewcontroller,如下所示:

- (void)dischargeSaveComplete:(ehrxEncounterDischargeView *)controller
{
    [self dismissViewControllerAnimated:YES completion:^(void) 
    {
        demoView *e = [self.parentViewController.tabBarController.viewControllers objectAtIndex:0];
        [e.navigationController popViewControllerAnimated:YES];
    }];
}

2 个答案:

答案 0 :(得分:0)

您希望2个动画相互跟随,这是不允许的。您要么取消其中一个动画,要么将popViewController放在完成块内,作为第一个动画。

[self dismissViewControllerAnimated:YES completion:^(void) {
    [self.navigationController popViewControllerAnimated:YES];
}
];

答案 1 :(得分:0)

你可以尝试延迟执行第二个动作

[self.navigationController performSelector:@selector(popViewControllerAnimated:) withObject:@"YES" afterDelay:1];

希望它有效..快乐编码:)