论iOS Tableview

2016-06-03  本文已影响82人  兰陵王堕红尘

一、

1、UIViewController

首先实现协议:<UITableViewDataSource,UITableViewDelegate>

2、创建属性:

UITableView*personalTableView;

NSArray*dataSource;

3、

personalTableView=[[UITableView alloc]initWithFrame:CGRectMake(0, 44+20, SCREEN_WIDTH, SCREEN_HEIGHT-20-44-49) style:UITableViewStyleGrouped];

[self.view addSubview:personalTableView];

personalTableView.delegate=self;

personalTableView.dataSource=self;

personalTableView.bounces=NO;

personalTableView.showsVerticalScrollIndicator = NO;//不显示右侧滑块

personalTableView.separatorStyle=UITableViewCellSeparatorStyleSingleLine;//分割线

dataSource=@[@"我的分享",@"密码管理",@"用户协议",@"关于"];

4、

#pragma mark tableViewDelegate

-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView

{//分组数 也就是section数

return 3;

}

//设置每个分组下tableview的行数

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

{

if (section==0) {

return 1;

}else if (section==1) {

return dataSource.count;

}else{

return 1;

}

}

//每个分组上边预留的空白高度

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

{

return 20;

}

//每个分组下边预留的空白高度

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

{

if (section==2) {

return 40;

}

return 20;

}

//每一个分组下对应的tableview 高度

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

{

if (indexPath.section==0) {

return 80;

}

return 40;

}

//设置每行对应的cell(展示的内容)

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

{

static NSString *identifer=@"cell";

UITableViewCell *cell=[tableView dequeueReusableCellWithIdentifier:identifer];

if (cell==nil) {

cell=[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifer];

}

if (indexPath.section==0) {

cell=[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"userinfo"];

UIImageView *imageView=[[UIImageView alloc]initWithFrame:CGRectMake(12, 0, 80, 80)];

imageView.image=[UIImage imageNamed:@"usericon.png"];

[cell.contentView addSubview:imageView];

UILabel *nameLabel=[[UILabel alloc]initWithFrame:CGRectMake(100, 0, 60, 80)];

nameLabel.text=@"李晨";

[cell.contentView addSubview:nameLabel];

}else if (indexPath.section==1) {

cell.textLabel.text=[dataSource objectAtIndex:indexPath.row];

}else{

cell.textLabel.text=@"退出登陆";

cell.textLabel.textAlignment=NSTextAlignmentCenter;

}

return cell;

}

上一篇下一篇

猜你喜欢

热点阅读