关闭tableView上的UITableViewController:didSelectRowAtIndexPath:indexPath

时间:2013-06-26 17:33:51

标签: objective-c uinavigationcontroller uitableview

目前我有一个UIView,其中UItableview单元格已添加到子视图中,如此enter image description here

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

enter image description here

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

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

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

有什么想法吗?

1 个答案:

答案 0 :(得分:5)

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

如果您想要转到视图控制器而不仅仅是当前视图控制器(或UINavigationController的行话中的顶视图控制器)下方的一个级别,您可以使用popToViewController:animated:。要转到导航控制器的根视图控制器,请使用popToRootViewControllerAnimated:

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