tableview: commitEditingStyle: forRowAtIndexPath, как остановить отображение кнопки удаления в некоторых ячейках

Я хотел бы знать, есть ли способ предотвратить появление кнопки «очистить» в определенной ячейке uitableview и позволить ей появиться в другой?

Я настроил пользовательскую ячейку uitableview, в которой есть кнопка, я использую

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{

метод .. Я хотел бы знать, можете ли вы остановить кнопку, которая появляется на одной из нескольких ячеек uitableview, когда пользователь проводит пальцем для удаления?

- (NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath
{
    return @"Clear";
}

// Override to support editing the table view.
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
    if (indexPath.section == 0) 
    {
        //cell fade - notifies the user that they are edited their cell
        NSArray *rowArray = [NSArray arrayWithObject:indexPath];
        [self.tableView reloadRowsAtIndexPaths:rowArray withRowAnimation:UITableViewRowAnimationFade];

        if (indexPath.row == 0) 
        {

            manufactureSearchObjectString = @"empty";
            [self.tableView reloadData]; //reloads the tabel with new value
            manufactureResultIndexPath = nil; //removes tick from subview

        }
        else if (indexPath.row == 1) 
        {

        }
        else if (indexPath.row == 2) 
        {

        }
        else if (indexPath.row == 3)
        {
            keyTypeSearchObjectString = @"empty";
            [self.tableView reloadData]; //reloads the tabel with new value
            keyTypeResultIndexPath = nil; //removes tick from subview

        }
    }
    else if (indexPath.section == 1) 
    {
        if (indexPath == 0) 
        {
            //can I stop the "clear" button from showing in here?
        }
    }
}

Чтобы быть немного более конкретным, я хочу, чтобы это не происходило введите описание изображения здесь


person C.Johns    schedule 06.10.2011    source источник


Ответы (1)


Используйте метод ниже

- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath
    {
            if (indexPath.section == 1) 
            {
              if (indexPath.row == 0) 
              {
                 return NO;// you can  stop the "clear" button from showing in here?
              }
              else
                return YES;
            }
          else
            return YES;


    }
person Narayana    schedule 06.10.2011
comment
круто, отлично получилось! большое спасибо за помощь! :) - person C.Johns; 06.10.2011