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

UITableView

时间:2016-02-22 17:28:46      阅读:127      评论:0      收藏:0      [点我收藏+]

标签:

style:

  Grouped:有分组和分段

  Plain:没有分组和分段

Content:

  动态单元格:表里面有多少段每段有多少行是不固定的,根据数据源来变化

  静态单元格:段和单元格是固定的不会变化(系统中的设置)


 

UITableView

- (void)viewDidLoad {

    [super viewDidLoad];

    self.myTableView = [[UITableView alloc]initWithFrame:CGRectMake(0, 0, 320, 568) style:UITableViewStyleGrouped];分组形式的

    self.myTableView.delegate = self;

    self.myTableView.dataSource = self;     <UITableViewDelegate,UITableViewDataSource>两个代理都要遵守

    self.myTableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine;     分割线

    [self.myTableView setEditing:YES];     编辑状态

    [self.view addSubview:_myTableView];

}

有多少段 默认为0

-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{

    return 26;

}

有多少行,调用多次

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

    if ((section+1)%2 == 0) {

        return 3;

    }else{

        return 2;

    }

}

某段某行显示什么样子  NSIndexPath封装的两个属性sectionrow

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

    //重复利用机制

    NSString *cellID = @"cellID";

    //先判断是否有可以重复利用的cell

    UITableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:cellID];

    if (cell==nil) {

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

    }

    //cell显示的样式

    cell.textLabel.text = [NSString stringWithFormat:@"%ld,%ld",indexPath.section,indexPath.row];

    return cell;

}

配置cell高度

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

    return 80;

}

段落头部尾部

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

    return @"头标题";

}

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

    return @"尾标题";

}

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

    return 30;

}

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

    return 30;//不能没有,如果想没有就把值变小

}

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

    UIView * v =[[UIView alloc]initWithFrame:CGRectMake(0, 0, 320, 50)];

    v.backgroundColor = [UIColor redColor];

    return v;

}

cell被点了要做什么

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{

    [tableView deselectRowAtIndexPath:indexPath animated:YES];取消点击事件

}

设置cell是否可以编辑

-(BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath{

    if (indexPath.row== 0) {

        return NO;

    }else{

        return YES;

    }

}

更改编辑状态的按钮

-(UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath{

    return  UITableViewCellEditingStyleDelete;

}

更改删除状态下右边显示的标题

-(NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath{

    return @"删除";

}

删除状态下按钮被点

-(void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath{

}

cell可以上下移动

-(bool)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath{

    return YES;

}

-(void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)sourceIndexPath toIndexPath:(NSIndexPath *)destinationIndexPath{  

}

UITableView

标签:

原文地址:http://www.cnblogs.com/huoran1120/p/5207562.html

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