iOS开发(OC)

QQ联系人界面tableview展开和收缩

2017-08-03  本文已影响49人  超_iOS

闲着无聊.瞎写.目前貌似有点简单了...毕竟刚入门时困扰了好久...

#import "CeShiTableViewController.h"

@interface CeShiTableViewController ()
@property (nonatomic , strong) NSArray * titleAry;

@property (nonatomic , strong) NSArray *contentAry;

@property (nonatomic , strong) NSMutableArray *SelectAry;
@end

@implementation CeShiTableViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    self.view.backgroundColor = [UIColor greenColor];
    self.titleAry = @[@"组1",@"组2",@"组3"];
    self.contentAry = @[@[@"123",@"1234",@"111",@"666",@"dsadasd",@"dasfsa",@"2年前第一次写觉得好难",@"2年后再写实在有点简单了"],@[@"2",@"222",@"2222222",@"21"],@[@"UI股",@"湿哒哒",@"多撒大所",@"大神的撒范德萨范德萨范德萨发",@"sfdsf",@"wfwfwef",@"fs"]];
    self.SelectAry = [@[@(0),@(0),@(0)]mutableCopy];
    
    
    [self.tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:@"cell"];
    self.tableView.backgroundColor = [UIColor redColor];
    
    // Uncomment the following line to preserve selection between presentations.
    // self.clearsSelectionOnViewWillAppear = NO;
    
    // Uncomment the following line to display an Edit button in the navigation bar for this view controller.
    // self.navigationItem.rightBarButtonItem = self.editButtonItem;
}



#pragma mark - Table view data source

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
#warning Incomplete implementation, return the number of sections
    return _titleAry.count;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
#warning Incomplete implementation, return the number of rows
    if ([self.SelectAry[section] isEqualToNumber:@(0)]) {//没点击
        return 0;
    }else
        
    return ((NSArray * )self.contentAry[section]).count;
}



- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell" forIndexPath:indexPath];
    cell.textLabel.text = self.contentAry[indexPath.section][indexPath.row];
    cell.backgroundColor = [UIColor yellowColor];
    // Configure the cell...
    
    return cell;
}
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
    return 30;
}
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
    UIButton *headerBtn = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 30)];
    [headerBtn setTitle:self.titleAry[section] forState:UIControlStateNormal];
    headerBtn.tag = 1000 + section;
    [headerBtn addTarget:self action:@selector(ChangeNum:) forControlEvents:UIControlEventTouchUpInside];
    headerBtn.backgroundColor = [UIColor blackColor];
    return headerBtn;
}
- (void)ChangeNum:(UIButton *)sender{
    int i = (int)sender.tag - 1000;
  
    if ([self.SelectAry[i] isEqualToNumber:@(0)]) {//没展开
          [self.SelectAry replaceObjectAtIndex:i withObject:@(1)];//去展开
    }else//展开了
    {
        [self.SelectAry replaceObjectAtIndex:i withObject:@(0)];
    }
    //刷新tableview(区)
    [self.tableView reloadSections:[NSIndexSet indexSetWithIndex:i] withRowAnimation: UITableViewRowAnimationFade];
  
    NSLog(@"点击数组%@",self.SelectAry);
    
    
}
上一篇下一篇

猜你喜欢

热点阅读