我有一个标签栏控制器,导航控制器内有一个视图。其中一个按钮弹出一个模态视图。我将我的起始视图设置为模态的委托,并调用以下内容:
- (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];
}];
}
答案 0 :(得分:0)
您希望2个动画相互跟随,这是不允许的。您要么取消其中一个动画,要么将popViewController放在完成块内,作为第一个动画。
[self dismissViewControllerAnimated:YES completion:^(void) {
[self.navigationController popViewControllerAnimated:YES];
}
];
答案 1 :(得分:0)
你可以尝试延迟执行第二个动作
[self.navigationController performSelector:@selector(popViewControllerAnimated:) withObject:@"YES" afterDelay:1];
希望它有效..快乐编码:)