0

我正在开发一个 iOS 应用程序,它使用包含选项卡的左侧滑出抽屉,每个选项卡代表应用程序的一个主要视图。目前,当用户选择一个选项卡时,应用程序会在导航堆栈中搜索相关视图控制器的实例,如果找到一个则弹出回该控制器,否则它会创建一个新实例并将其推送到堆栈上。

我还想添加一个后退按钮,允许用户返回到上一个视图,但是由于许多导航选项会将用户弹出到上一个视图控制器,导致他们离开的控制器被释放,所以没有明显的方法有一个后退按钮以再次返回该控制器。

有没有办法构造这个应用程序,以便可以添加后退按钮,同时仍然允许用户在给定时间使用选项卡导航到任何视图?

导航代码示例如下(在用户单击其中一个选项卡时调用):

if(![self.navigation.topViewController isKindOfClass:[GraphViewController class]]) { //Are we already in this view?
    BOOL foundController = NO;
    for(id controller in self.navigation.viewControllers) { //Is there a controller of this type already in the stack?
        if([controller isKindOfClass:[GraphViewController class]]) {
            [self.navigation popToViewController:controller animated:YES];
            foundController = YES;
            break;
        }
    }
    if(!foundController) {
        GraphViewController *controller = [self.storyboard instantiateViewControllerWithIdentifier:@"graphViewController"];
        controller.connection = _connection;
        controller.data = _dataCache;
        [self.navigation pushViewController:controller animated:YES];
    }
}
4

1 回答 1

0

我相信您想要的是滑出菜单中每个项目的导航控制器。这样,当用户从侧面菜单中选择视图时,他们可以导航与该部分关联的视图。这将允许用户在从侧面菜单中选择项目后从视图返回。

于 2013-07-12T14:43:58.707 回答