关闭tableView上的UITableViewController:didSelectRowAtIndexPath:indexPath

jse*_*g32 0 objective-c uitableview uinavigationcontroller

目前我有一个UIView,其中UItableview单元格添加到子视图中,就像这样,在此输入图像描述

当按下按钮时,它会推送到另一个导航控制器,其子类是一个uitableviewcontroller ....

在此输入图像描述

因此,当用户点击其中一个tableviewcells时...我希望从导航堆栈中取出视图控制器并返回到先前列出的上一个视图.

我使用以下实现实现了下面列出的UITableviewcontroller方法....但没有发生任何事情:P ....

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    [self dismissViewControllerAnimated:YES completion:nil];
}
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

Zen*_*Zen 5

如果您将视图控制器推到导航控制器的堆栈上,即pushViewController:animated:应使用popViewControllerAnimated:方法弹出当前视图控制器.

如果你想进入一个视图控制器而不只是当前视图控制器(或者UINavigationController行话中的顶视图控制器)下面的一个级别,你可以使用popToViewController:animated:.并转到导航控制器的根视图控制器,使用popToRootViewControllerAnimated:.

但是,如果您以模态方式呈现视图控制器presentViewController:animated:completion:,那么只有您使用该dismissViewControllerAnimated:completion:方法来关闭呈现的视图并转到呈现视图控制器.