我基本上尝试的是在邮箱中实现控制段/ tableview(请参阅2:00左右:http://www.youtube.com/watch?v=FG-h8pDXfoE&feature=youtu.be&t=2m)
我在一个UITableViewController
连接到UITableView
时使用核心数据。
当用户切换UISegmentedControl
时,TableView
会重新加载另一组NSPredicate
和UITableViewRowAnimationRight/Left
,这样会使其显示为不同的表格视图滑入并替换旧的。
随着细胞数量的增加,这种设计的性能会急剧下降,而且看起来也会好得多。
我可以看到一些不同的方法来解决这个问题,但我想我会请你们指点一些方向让我朝着正确的方向前进:
使用分段控件切换多个tableview的最佳方法是什么?这些表视图是否应该连接到同一个数据源/代理?
答案 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。我写的正是你想要做的。