我有一个表格视图,其中我已经实现了UITableViewCellEditingStyleDelete
,通过该视图,在特定单元格上滑动时,会出现删除按钮。
现在我想淡化手指被滑动的单元格,以便当删除按钮出现时,后面的单元格应该变淡。在此先感谢您的帮助。
这是我的代码:
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView
editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath {
return UITableViewCellEditingStyleDelete;
}
答案 0 :(得分: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];
}
}
答案 1 :(得分:0)
在您的课程中覆盖以下方法
- (void) setEditing:(BOOL)editing animated:(BOOL)animated {
[super setEditing:editing animated:animated];
/*
your code for style of cell being edited
*/
}