分段控制以切换多个表视图

时间:2013-12-13 19:54:39

标签: ios objective-c uitableview uisegmentedcontrol

我基本上尝试的是在邮箱中实现控制段/ tableview(请参阅2:00左右:http://www.youtube.com/watch?v=FG-h8pDXfoE&feature=youtu.be&t=2m

我在一个UITableViewController连接到UITableView时使用核心数据。

当用户切换UISegmentedControl时,TableView会重新加载另一组NSPredicateUITableViewRowAnimationRight/Left,这样会使其显示为不同的表格视图滑入并替换旧的。

随着细胞数量的增加,这种设计的性能会急剧下降,而且看起来也会好得多。

我可以看到一些不同的方法来解决这个问题,但我想我会请你们指点一些方向让我朝着正确的方向前进:

使用分段控件切换多个tableview的最佳方法是什么?这些表视图是否应该连接到同一个数据源/代理?

3 个答案:

答案 0 :(得分:3)

看看这个广告:https://github.com/xmartlabs/XLMailBoxContainer。它在视图控制器中创建UI动画。这些视图控制器可以扩展UITableViewController或任何其他视图控制器。

UITableViewCell滑动动画可以使用https://github.com/alikaragoz/MCSwipeTableViewCell完成。

我希望这可以帮到你!

答案 1 :(得分:2)

这取决于每个表视图的不同之处。如果它们非常相似,那么分享委托数据源并拥有一些条件代码可能最简单。

实际上,您可以只拥有一个表视图,但具有不同的单元格/配置,具体取决于您当前的上下文。 可以像添加一些条件一样简单

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;

另一种方法是使用视图控制器包含。您可以为每个创建一个 UITableViewController ,然后让父视图控制器使用分段控件,相应地交换子视图控制器。

至于动画和表演,我真的看不出任何问题。如果您使用 NSFetchedResultsController ,您可以毫不费力地获取动画,请参阅此处的示例:https://developer.apple.com/library/ios/documentation/CoreData/Reference/NSFetchedResultsControllerDelegate_Protocol/Reference/Reference.html

答案 2 :(得分:0)

SBSegmentedViewController。我写的正是你想要做的。

相关问题