带选项卡导航的Cocoa触摸返回按钮



我正在开发一个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];
    }
}

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

最新更新