Как использовать разные ячейки в одном табличном представлении? - PullRequest
0 голосов
/ 18 августа 2011

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

1 Ответ

0 голосов
/ 18 августа 2011

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

-(void)button1Tapped:(id)sender
{

    self.buttonIndex = 1;
    NSArray* arr = [[NSArray alloc] initWithObjects:self.indexPathOfConcernedCell, nil];
    [self.tableView reloadRowsAtIndexPaths:arr withRowAnimation:UITableViewRowAnimationNone];
    [arr release];

}

Затем в cellForRowAtIndexPath: вернуть ячейку, на которой была нажата кнопка-

 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
        {

    if(indexPath == self.indexPathOfConcernedCell)
    {

    if(self.buttonIndex == 1)
             {
                  Cell1* cell = (Cell1*) [tableView dequeueReusableCellWithIdentifier:@"CellIdentifier1"];

                  if(cell == nil)
                  {
                 cell = [[[Cell1 alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"CellIdentifier1"] autorelease];
                  } 
             }

        else if(self.buttonIndex == 2)
        {
            //do similar stuff
        }

        //do similar stuff for buttonIndex 3 here

        }
    }

    else
    {
        //your regular stuff
    }

    return cell;

    }
...