0

我正在使用滑动删除功能

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

if (editingStyle == UITableViewCellEditingStyleDelete) {
    //add code here for when you hit delete
    NSLog(@"UITableViewCellEditingStyleDelete");
    [liste removeObjectAtIndex:indexPath.row];
    [self refreshTableView];
}
}

我需要在选定的单元格上隐藏一个 UImage,所以我正在使用这段代码

    - (void)tableView:(UITableView*)tableView willBeginEditingRowAtIndexPath:(NSIndexPath *)indexPath;{   
cellTodelete = (ListeRestoCell *) [self.tableView cellForRowAtIndexPath:indexPath];
if(cellTodelete.eventImage.hidden==NO) {
    a = 1 ;
    cellTodelete.eventImage.hidden = YES ;
}    
return;
}

这项工作很棒,唯一的问题是即使未单击删除按钮,我的 Uimage 也会隐藏,因此如果未单击删除按钮,我需要再次显示图像。我怎样才能做到这一点?

4

1 回答 1

0

这样做,

.h

BOOL isDeleted;
NSIndexPath *selIndexPath;

.m loadView

 isDeleted = NO;

/

 - (void)tableView:(UITableView*)tableView willBeginEditingRowAtIndexPath:(NSIndexPath *)indexPath;{   

 selIndexPath = indexPath;
cellTodelete = (ListeRestoCell *) [self.tableView cellForRowAtIndexPath:indexPath];
if(cellTodelete.eventImage.hidden==NO) {
    a = 1 ;
    cellTodelete.eventImage.hidden = YES ;
}    
return;
}

/

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

if (editingStyle == UITableViewCellEditingStyleDelete) {   

    isDeleted = YES;
    //add code here for when you hit delete
    NSLog(@"UITableViewCellEditingStyleDelete");
    [liste removeObjectAtIndex:indexPath.row];
    [self refreshTableView];
}
}

/

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


      if(!isDeleted && selIndexPath!=nil) {

           cellTodelete = (ListeRestoCell *) [self.tableView cellForRowAtIndexPath:selIndexPath];
           cellTodelete.eventImage.hidden = NO ;
      }

}
于 2013-07-20T11:59:23.287 回答