在父表视图的兄弟详细信息视图之间导航

时间:2012-04-30 02:56:47

标签: ios uitableview uinavigationcontroller

我有一个表格视图,当我点按某个项目时会导航到详细视图。 我想要做的是从详细视图导航到兄弟详细信息视图(对于表中的另一个项目)而不返回到父表视图。

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

  • 三明治
  • 沙拉

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

我想从火腿三明治到鸡肉面条汤或凯撒沙拉细节视图,而无需动画回到桌面视图。我怎么能这样做?

1 个答案:

答案 0 :(得分:3)

如果您想要导航到下一个/上一个详细信息视图(让我们称之为兄弟详情视图),您只需要弹出& amp;将动画标志设置为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建议使用委托模式来控制控制器的推送/弹出。这意味着控制器不会将自身弹出导航堆栈,而是会向父表视图控制器发送消息,该控制器将弹出并推送新的详细信息视图(在一次调用中)。