解散模态提供的UITabBarController

时间:2013-01-23 21:28:56

标签: objective-c uitabbarcontroller

编辑:添加了包含解雇的代码。

新数据

问题仍然与旧数据下列出的问题相同,但解雇线已更改。

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
    NSString *title = [alertView buttonTitleAtIndex:buttonIndex];
    if([title isEqualToString:@"Yes"])
    {
        NSLog(@"Calling Dismissal...");
        [self.presentingViewController dismissViewControllerAnimated:YES completion:nil];
    }
}

正在调用该函数,因为“Calling Dismissal ...”会显示在日志中。

当前层次结构:UITabBarController - NavigationController / NavigationController - View1 / View2

旧数据

如果问题令人困惑,我试图解雇一个UITabBarController而不是我提出的模态。 UITabBarController确实使用NavigationControllers来设置里面的两个视图。但是,无论我放入多少个parentViewController

(即):

[self.parentViewController.parentViewController.etc... dismissViewControllerAnimated:YES completion:nil];

UITableBarController不会被忽略。我有一个按钮放在两个视图的NavigationController中,调用上面的代码行。关于如何解雇UITableViewController的任何提示?

1 个答案:

答案 0 :(得分:0)

呈现视图控制器与父视图控制器的概念不同,需要将其解除。这段代码:

[self.presentingViewController dismissViewControllerAnimated:YES completion:nil];

通常会做到这一点。

但是,根据此控制器的功能,我通常更喜欢让我所呈现的控制器向父母发送委托消息或NSNotification,以便父母可以在解雇之前提取所需的任何数据。