滑動刪除、經過一個按鈕控制刪除、替換滑動出的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