---------- ViewController.m ----------
#import "ViewController.h"
#import "CZFriendGroup.h"
#import "CZFriendCell.h"
#import "CZGroupHeader.h"
@interface ViewController () <CZGroupHeaderDelegate>
@property (strong, nonatomic) NSArray *groups;
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
self.tableView.rowHeight = 50;
self.tableView.sectionHeaderHeight = 44;
}
- (BOOL)prefersStatusBarHidden
{
return YES;
}
- (NSArray *)groups
{
if (_groups == nil)
{
NSArray *dictArray = [NSArray arrayWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"friends.plist" ofType:nil]];
NSMutableArray *groupArray = [NSMutableArray array];
for (NSDictionary *dict in dictArray)
{
CZFriendGroup *group = [CZFriendGroup groupWithDict:dict];
[groupArray addObject:group];
}
_groups = groupArray;
}
return _groups;
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return self.groups.count;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
CZFriendGroup *group = self.groups[section];
return group.open ? group.friends.count : 0;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
CZFriendCell *cell = [CZFriendCell cellWithTableView:tableView];
CZFriendGroup *group = self.groups[indexPath.section];
cell.friendData = group.friends[indexPath.row];
return cell;
}
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
CZGroupHeader *header = [CZGroupHeader headerWithTableView:tableView];
header.delegate = self;
header.group = self.groups[section];
return header;
}
- (void)groupHeaderClick:(CZGroupHeader *)header
{
[self.tableView reloadData];
}
@end
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);