在父表视图的同级详细视图之间导航
Posted
技术标签:
【中文标题】在父表视图的同级详细视图之间导航【英文标题】:Navigate between sibling detail views of a parent table view 【发布时间】:2012-04-30 02:56:47 【问题描述】:我有一个表格视图,当我点击一个项目时,它会导航到详细视图。 我要做的是从详细视图导航到同级详细视图(对于表中的另一个项目)而不返回父表视图。
例如,如果表视图屏幕中有许多属于这些类型的菜肴:
三明治 汤 沙拉当我选择一个火腿三明治时,我会转到这道菜的详细视图。在这里我看到喜欢火腿三明治的人也喜欢鸡汤面和凯撒沙拉。
我想从火腿三明治转到鸡肉面条汤或凯撒沙拉的详细视图,而不用动画返回到表格视图。我该怎么做?
【问题讨论】:
【参考方案1】:当您想要导航到下一个/上一个详细视图(我们称它们为同级详细视图)时,您只需弹出并推送新控制器并将动画标志设置为 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 建议使用委托模式来控制控制器的推送/弹出。这意味着控制器不会将自己从导航堆栈中弹出,而是会向父 tableview 控制器发送消息,并且该控制器将弹出并推送新的详细视图(一次调用)。
【讨论】:
以上是关于在父表视图的同级详细视图之间导航的主要内容,如果未能解决你的问题,请参考以下文章