2012-01-27 1 views
1

У меня есть мой приятный customCell для UITableView, все работает хорошо.customCell изображение не отвечает на didSelectRowAtIndexPath (но в остальном работает)

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

    static NSString *CellIdentifier = nil; 

    CustomCell *cell = (CustomCell *) [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    if (cell == nil) { 

     NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:self options:nil]; 

     for (id currentObject in topLevelObjects){ 
      if ([currentObject isKindOfClass:[UITableViewCell class]]){ 
       cell = (CustomCell *) currentObject; 
       break; 
      } 
     } 
    } 


    // LOOK HERE: cellArrowPointingRight is an UIImage view of which I like to turn on later 
    [cell.cellArrowPointingRight setHidden:YES]; 
    // The above line works as it hides all cellArrowPointingRight(s) 

    return cell; 
} 

в настраиваемое представление (сделано в IB) У меня также есть cellArrowPointingRight (это связано с Н и @synthesize cellArrowPointingRight в задаче M

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

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 



    UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath]; 
    // cell.contentView.backgroundColor = [UIColor colorWithRed:1.0 green:0.0 blue:0.0 alpha:0.5]; 
    cell.textLabel.text = @"Clicked"; 
    // PROBLEM HERE: (cellArrowPointingRight is not legal) 
    [cell.cellArrowPointingRight setHidden:NO]; 
} 

Как решить эту проблему

ответ

1

Как вы используете:

UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath]; 

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

Что вам нужно сделать, чтобы получить клетки, как:

CustomCell *cell = (CustomCell*)[tableView cellForRowAtIndexPath:indexPath]; 

Если предположить, что ваш CustomCell является суперкласс UITableViewCell.

+0

потрясающий! Благодарю вас. малый вопрос, предполагая, что я хочу обвести всю ячейку и удалить изображение, прежде чем установить его на определенную ячейку (которую я нажал), получил быстрый цикл для меня? – chewy

+0

рад, что это помогло. –

+0

Я не понял вашу цель? Вы хотите перебрать все ячейки в таблицеView и скрыть его для некоторых определенных ячеек? –

Смежные вопросы