在我看到UINavigationContoller
和UITableView
的示例中,切换到下一个视图通常是通过点击该单元格并在堆栈顶部推送不同的UIViewController
来触发的,但是我是想要通过按下页面底部的下一个按钮切换到下一个视图,我希望它再次加载相同的UITableViewController
,但每个单元格中的内容不同。
- 我把下一个按钮放在页面底部?在哪里
- 我可以调用相同的控制器(但显示不同的内容)并使用UINavigationController
置于堆栈顶部?
因为我希望能够浏览回流页面。
答案 0 :(得分:1)
只需让UITableViewDatasource
返回您在–(NSUInteger)tableView:numberOfRowsInSection:
中的最后一部分中的行数加1。在将该单元格返回到tableView之前设置该单元格的任何内容。
然后当用户触摸最后一个单元格时,只推送新的UIVIewController
。
您还可以让UITableView
的代理人返回nil
:
-(NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath
表示您不希望用户选择的单元格。
答案 1 :(得分:1)
您通常会先突出显示,然后将新的UIViewController
子类推送到UINavigationController
。
UIViewController
应该管理一个屏幕内容。如果您计划通过提供不同的信息来破坏该约定,那么您基本上会有重复的if
语句来决定用户是否应该在点击按钮之前或之后查看内容。
UINavigationController
适用于层级数据,其中内容在您向下钻取时变得更具体。 UINavigationController
还将管理堆栈,以便您可以转到上一页。
要实现您想要实现的目标(stated here),当用户提交您收到xml的问题时,您应该使用UINavigationController
自定义子类UITableViewController
,然后解析它,然后实例化UITableViewController
子类的新实例并将其推入堆栈。
答案 2 :(得分:1)
您可以在表格视图的页脚视图中添加一个按钮。要实现这一目标,请查看tableView:viewForFooterInSection:
。然后向该按钮添加一个动作,该动作为视图控制器分配并使用新内容并将其推入堆栈。