0

我有一个表格视图,我已经在其中实现UITableViewCellEditingStyleDelete了,在特定单元格上滑动时,会出现删除按钮。
现在我想淡化手指滑动的单元格,这样当删除按钮出现时,后面的单元格应该会淡化。在此先感谢您的帮助。

这是我的代码:

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

    return UITableViewCellEditingStyleDelete;
}
4

2 回答 2

1

只需将其粘贴到您的代码中:

- (void)tableView:(UITableView*)tableView didEndEditingRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
    if (cell.contentView.alpha != 0.5)
    {
        [cell.contentView setAlpha:0.5];
    }
    else
    {
        [cell.contentView setAlpha:1.0];
    }
}
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath
{
    if (tableView.editing == UITableViewCellEditingStyleDelete)
    {

        UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
        if (cell.contentView.alpha != 0.5)
        {
            [cell.contentView setAlpha:0.5];
        }
        else
        {
            [cell.contentView setAlpha:1.0];
        }
    }
       return YES;
}
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
    if (tableView.editing == UITableViewCellEditingStyleDelete)
    {
        [tableView beginUpdates];
        [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationLeft];
        [self.arrayForRows removeObjectAtIndex:indexPath.row];
        [tableView endUpdates];
        UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
        [cell.contentView setAlpha:1.0];
    }
}
于 2013-03-19T13:34:08.543 回答
0

在您的类中覆盖以下方法

    - (void) setEditing:(BOOL)editing animated:(BOOL)animated {

        [super setEditing:editing animated:animated];

       /*
            your code for style of cell being edited
       */

      }
于 2013-03-19T13:09:50.280 回答