码迷,mamicode.com
首页 > 其他好文 > 详细

UITableView---分组

时间:2015-05-25 10:19:49      阅读:103      评论:0      收藏:0      [点我收藏+]

标签:uitableview分组   uitableviewcell   protocol 协议   数据   uitableview   

UITableView分组,该例题分为5个组,每一组有5行,每行内容为当前组下标和行下标,有头标题(HAHA),无尾标题。

显示效果为:

技术分享

代码如下:


#import "ViewController.h"


//遵守协议

@interface ViewController () <UITableViewDelegate,UITableViewDataSource>


//UITableView

@property (nonatomic,weak)UITableView * tableView;


//分组头数据

@property (nonatomic,strong) NSMutableArray * sectionArray;




//strong ---数据类型

//weak   ---控件之类的



@end


@implementation ViewController


- (void)viewDidLoad

{

    [superviewDidLoad];

    

    //加载数据

    [self_loadData];

    

    UITableView * table=[[UITableViewalloc]initWithFrame:CGRectMake(0,20, self.view.frame.size.width,self.view.frame.size.height-20)style:UITableViewStyleGrouped];

    table.delegate=self;

    table.dataSource=self;

    

   self.tableView=table;

    table.sectionFooterHeight=0;  //如果有代理的话,此行没有效果,以代理为先

    //table.sectionHeaderHeight=100;

    [self.viewaddSubview:table];

    

    

}


#pragma mark - 加载数据

- (void) _loadData

{

    NSArray * array=@[@"分组1",@"分组2",@"分组3",@"分组4",@"分组5"];

   self.sectionArray=[NSMutableArrayarrayWithArray:array];

   

    

}




#pragma mark - UITableViewDatasource

//返回行数

- (NSInteger ) tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section

{

    //return 3;  //在该分组中有3

    //return (section+1)*2;    //下标为0的分组有2

                            //下标为1的分组有4

                            //下标为2的分组有6

                            //下标为3的分组有8

  

    returnself.sectionArray.count;

    

    

}


//返回cell

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

{

   static NSString * identy=@"table";

    UITableViewCell * cell=[tableViewdequeueReusableCellWithIdentifier:identy];

   if (!cell)

    {

        cell=[[UITableViewCellalloc]initWithStyle:UITableViewCellStyleDefaultreuseIdentifier:identy];

    }

    cell.textLabel.text = [NSStringstringWithFormat:@"%li %li",indexPath.section,indexPath.row]; //打印分组和行数


   return cell;

    

}



#pragma mark - 返回分组数量

- (NSInteger) numberOfSectionsInTableView:(UITableView *)tableView

{

    returnself.sectionArray.count;  //分组数组长度

    //return 4;   //分组有4

}


#pragma mark - UITableViewDelegate

//设置分组的头标题

- (NSString *) tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section

{

    return@"haha";

}



//设置分组的尾标题

//- (NSString *) tableView:(UITableView *)tableView titleForFooterInSection:(NSInteger)section

//{

//    return @"hello world";

//}


#pragma mark - 自定义头部

//- (UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section

//{

//    UIView * view=[[UIView alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 100)];

//    view.backgroundColor=[UIColor redColor];

//    return view;

//}


#pragma mark - 自定义尾部

//- (UIView *) tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section

//{

//    UIView * view=[[UIView alloc]init];

//    view.backgroundColor=[UIColor blueColor];

//    return  view;

//}


#pragma mark - 设置头部的高度

- (CGFloat) tableView:(UITableView *)tableView estimatedHeightForHeaderInSection:(NSInteger)section

{

   return 50;

}



#pragma mark - 设置尾部的高度

//- (CGFloat) tableView:(UITableView *)tableView estimatedHeightForFooterInSection:(NSInteger)section

//{

//    return 30;

//}



- (void)didReceiveMemoryWarning {

    [superdidReceiveMemoryWarning];

    

}


@end



UITableView---分组

标签:uitableview分组   uitableviewcell   protocol 协议   数据   uitableview   

原文地址:http://blog.csdn.net/qq_27364431/article/details/45953407

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!