2012-04-30 36 views
4

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

例如,如果表视图屏幕有许多菜肴属于这些类型:

  • 三明治
  • 沙拉

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

我想从火腿三明治去鸡肉面条汤或凯撒沙拉细节的意见,而没有动画回到表视图。我怎样才能做到这一点?

回答

3

如果要导航到下一个/上一个细节视图(让我们称他们为同胞详图),所有你需要做的只是弹出&推动与动画标志新的控制器设置为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只是一个虚拟控制器,你应该用你的代码实例化控制器来代替它。

正如我注意到的,Apple建议使用委托模式来控制控制器的推送/弹出。这意味着控制器不会自动跳出导航堆栈,但会向父级桌面控制器发送消息,并且该控制器将弹出&推送新的详细视图(在一次调用中)。

+0

感谢您的帮助!我得到了它的工作。 – Keruvinde