我在我的表视图中使用MGSwipeTableViewCell,通过在显示删除按钮的单元格上滑动来删除行,然后按下它以使用此库删除或删除单元格。我的问题是,当删除所有单元格时,表格视图消失,我的视图布局受到干扰。因此,当我通过滑动删除所有单元格时,我希望收到通知,因此我可以应用或更新约束来管理视图的布局。
答案 0 :(得分:1)
您应该使用以下委托方法,在这里您可以检查删除特定单元格后剩余的行数,并根据要求更新约束。
-(BOOL) swipeTableCell:(MGSwipeTableCell*) cell tappedButtonAtIndex:(NSInteger) index direction:(MGSwipeDirection)direction fromExpansion:(BOOL) fromExpansion
{
NSLog(@"Delegate: button tapped, %@ position, index %d, from Expansion: %@",
if (direction == MGSwipeDirectionRightToLeft && index == 0) {
//delete button is tapped or full swiped
NSIndexPath * path = [_tableView indexPathForCell:cell];
[tests removeObjectAtIndex:path.row];
[_tableView deleteRowsAtIndexPaths:@[path] withRowAnimation:UITableViewRowAnimationLeft];
return NO; //Don't autohide to improve delete expansion animation
}
return YES;
}
来源:MGSwipeDemo示例代码
答案 1 :(得分:0)
在此之后删除单元格的位置,您可以使用此属性通知表格视图中剩余单元格的数量。
NSLog(@"剩余可见单元格=%lu",(unsigned long)_table.visibleCells.count);
所以通过使用这个代码,当没有。单元格将为零,那么您可以处理您的要求。
[_table deleteRowsAtIndexPaths:@[[_table indexPathForCell:btn]] withRowAnimation:UITableViewRowAnimationFade];
NSLog(@"Remaining visible cells = %lu",(unsigned long)_table.visibleCells.count);
if (_table.visibleCells.count==0) {
[[[UIAlertView new] initWithTitle:nil message:@"All record deleted" delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil] show];
}