我有一个表格视图,当我点按某个项目时会导航到详细视图。 我想要做的是从详细视图导航到兄弟详细信息视图(对于表中的另一个项目)而不返回到父表视图。
例如,如果表格视图屏幕有许多属于这些类型的菜肴:
当我选择一个火腿三明治时,我会去这道菜的详细视图。在这里,我看到喜欢火腿三明治的人也喜欢鸡肉面条汤和凯撒沙拉。
我想从火腿三明治到鸡肉面条汤或凯撒沙拉细节视图,而无需动画回到桌面视图。我怎么能这样做?
答案 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建议使用委托模式来控制控制器的推送/弹出。这意味着控制器不会将自身弹出导航堆栈,而是会向父表视图控制器发送消息,该控制器将弹出并推送新的详细信息视图(在一次调用中)。