UITableView 刪除cell

滑動刪除、經過一個按鈕控制刪除、替換滑動出的deleteapp

UITableVeiw Delete

1. 直接滑動刪除
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {
    return YES;
}
 
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
 
     if (editingStyle == UITableViewCellEditingStyleDelete) {
         [dataArray removeObjectAtIndex:indexPath.row];
         // Delete the row from the data source.
         [testTableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];
         
     }   
     else if (editingStyle == UITableViewCellEditingStyleInsert) {
     // Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view.
     }   
 }

2.經過一個按鈕控制是否能刪除  設置能刪除 [tableVeiw setEditing:YES animated:YES];

//要求委託方的編輯風格在表視圖的一個特定的位置。 //當在Cell上滑動時會調用此函數
-(UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath{
    UITableViewCellEditingStyle result = UITableViewCellEditingStyleNone;//默認沒有編輯風格
    if ([tableView isEqual:myTableView]) {
        result = UITableViewCellEditingStyleDelete;//設置編輯風格爲刪除風格
    }
    return result;
}

-(void)setEditing:(BOOL)editing animated:(BOOL)animated{//設置是否顯示一個可編輯視圖的視圖控制器。
    [super setEditing:editing animated:animated];
    [self.myTableView setEditing:editing animated:animated];//切換接收者的進入和退出編輯模式。
}

-(void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath{//請求數據源提交的插入或刪除指定行接收者。
    if (editingStyle ==UITableViewCellEditingStyleDelete) {//若是編輯樣式爲刪除樣式
        if (indexPath.row<[self.arrayOfRows count]) {
            [self.arrayOfRows removeObjectAtIndex:indexPath.row];//移除數據源的數據
            [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationLeft];//移除tableView中的數據
        }
    }
}
3.替換滑動出的delete (能夠把delete替換爲漢字 或別的字母)函數

- (NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath
{
    return @"刪除"; //或return @"delete a cell"; //若是隻要求設置爲漢字也能夠不用這個 直接在設置中設置只支持中文
}rem

相關文章
相關標籤/搜索