我有一个UINavigationController。在它的工具栏中是一个带有两个按钮的分段控件。每个按钮都与自己的UITableViewController相关。
我想要实现的是将导航控制器连接起来,以便根据分段控件中的哪个按钮处于活动状态来切换视图。
我认为我应该坚持使用表控制器,因为我想保留每个视图中的滚动位置,例如,如果用户位于表1的顶部,而表2的底部,则此信息切换时应保留。
任何建议都会感激不尽!
答案 0 :(得分:3)
是否可以只切换dataSource而不必处理两个单独的表视图?保留滚动位置仍然可以轻松完成,最终使用较少的内存(一个表视图和两个数据源,而不是两个表视图和两个数据源)。
只有128MB备用,iPhone的内存效率是最佳选择。
答案 1 :(得分:1)
乔尔的建议很好。另一种可能性是在视图控制器中使用两个不同的UITableView,并手动将它们交换出来。 UITableViewController没有什么特别之处;它只是一个带有tableView设置的UIViewController。使用标准的UIViewController,为表添加两个出口,隐藏一个,并在切换UISegmentedControl时交换它们。
答案 2 :(得分:0)
我用过Joel的方法。效率很高。
使用分段控件调用设置变量的方法,然后发送[tableView reloadData]。
然后tableView:numberOfRowsInSection:和tableView:cellForRowAtIndexPath:根据分段控件方法设置的变量值检索它们的数据。