UITableView调用的方法

UITableView实现两个协议UITableViewDataSourceUITableViewDelegate

#pragma mark 一共有多少行数据
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return self.data.count;

#pragma mark 每一行显示什么数据
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {} 

#pragma mark 设置某一行的高度
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{} 

#pragma mark 点击了某一行的cell就会触发这个方法

- (void)tableView:(UITableView *)tableView didSelectRowAtIndex:(NSIndexPath *)indexPath{}

//提交编辑操作时会调用这个方法

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

 

 //取出选中这一行

[tableView deselectRowAtIndexPath:indexPath animated:YES];

//取得对应位置的Cell对象

UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];

//让Cell打钩

cell.accessoryType = UITableViewCellAccessoryCheckmark;

//将分割线去掉

 

tableView.separatorColor = [UIColor clearColor];

 

//判断原来的Cell在不在集合里面,如果在就check,否则不check

NSString *text = [self.data ObjectAtIndex:indexPath.row];

if ([self.selectedData containsObject:text]){

  cell.accessoryType = UITableViewCellAccessoryCheckmark;

} else {

  cell.accessoryType = UITableVIewCellAccessoryNone;

}

 

//循环利用的Cell

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"UITableViewCell"];

if(cell == nil){

  //如果没有可循环利用的Cell,就必须创建一个Cell

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

}

 //重新向dataSrouce请求数据

//重新调用数据源的方法numberOfRowsInSection和cellForRowAtIndexPath

[tableview reloadData];

 //更新UI并有动画效果

[self.tableView deleteRowsAtIndexPaths:self.selectedRows

 withRowAnimation:UITableViewRowAnimationAutomatic];

//清除数组中的数据

[removeAllObjects];

posted @ 2013-05-08 17:40  wangzhenxiang  阅读(270)  评论(0编辑  收藏  举报