在父表视图的兄弟细节视图之间导航

我有一个表格视图,当我点击一个项目时,导航到一个细节视图。 我想要做的是从一个细节视图导航到兄弟细节视图(为表中的另一个项目),而不会返回到父表视图。

例如,如果桌子视图屏幕有许多属于这些types的盘子:

  • 三明治
  • 汤类
  • 沙拉

当我select一个火腿三明治,我去这个菜的详细视图。 在这里,我看到那些喜欢火腿三明治的人也喜欢鸡肉面条汤和凯撒沙拉。

我想从火腿三明治去鸡肉面条汤或凯撒沙拉细节的意见,而没有animation返回到桌子的看法。 我怎样才能做到这一点?

当你想导航到下一个/ prev的细节视图(让我们称之为兄弟细节视图),你只需要popup推动新的控制器的animation标志设置为FALSE

- (void)gotoAnotherDetailView { // Just remove the current [self.navigationController popViewControllerAnimated:FALSE]; // Create a new DetailViewController* newcontroller = [DetailViewController alloc] initWithDishType:anotherDish]; [self.navigationController pushViewController:newcontroller animated:FALSE]; } 

在这个例子中,DetailViewController只是一个虚拟控制器,你应该用代码中的控制器替代它。

正如我注意到的,苹果build议使用委托模式来控制控制器的推送/popup。 这意味着一个控制器不会popup自己的导航堆栈,但会发送消息到父级的tableview控制器,该控制器将popup&推新的详细信息视图(在一次调用)。