2016-07-27 96 views
0

我在我的表格視圖中使用MGSwipeTableViewCell通過在單元格上滑動來刪除行,該單元格顯示刪除按鈕並按下它,使用此庫獲取單元格刪除或刪除。我的問題是,當所有的單元格被刪除時,表格視圖消失,我的視圖佈局受到干擾。所以我希望在通過滑動刪除所有單元格時得到通知,這樣我就可以應用或更新約束來管理視圖的佈局。如何知道是否所有單元格使用MGSwipeTableCell刪除

回答

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示例代碼

0

當你後,刪除你的細胞,你可以通知有多少剩餘的細胞通過使用這個屬性在你的表視圖中可見。 NSLog(@「Remaining visible cells =%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]; 
} 
相關問題