2014-11-01 2 views
0

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

мой код:

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

@try { 
    static NSString *CellIdentifier = @"Cell"; 
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 

    if (cell == nil) { 
     cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]; 


      checkButton = [UIButton buttonWithType:UIButtonTypeCustom]; 
      [checkButton setFrame:CGRectMake(5, 5, 20, 20)]; 
      [cell addSubview:checkButton]; 

      pLblCabType = [[UILabel alloc]initWithFrame:CGRectMake(30, 5, 200, 20)]; 
      [cell addSubview:pLblCabType]; 

      pLblTariff = [[UILabel alloc]initWithFrame:CGRectMake(240, 5, 80, 20)]; 
      [cell addSubview:pLblTariff]; 

    } 



     [checkButton setImage:[UIImage imageNamed:[pArrImgBullet objectAtIndex:indexPath.row]] forState:UIControlStateNormal]; 
     pLblCabType.text = @"Arul"; 
     pLblTariff.text = @"Rs.1250"; 


    return cell; 

} 
@catch (NSException *exception) { 

    NSLog(@"Exception Error is %@",exception); 
} 
@finally { 

    } 
} 

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

@try { 




     [checkButton setImage:[UIImage imageNamed:@"Bullet_Select.png"] forState:UIControlStateSelected]; 
     [pArrImgBullet replaceObjectAtIndex:indexPath.row withObject:@"Bullet_Select.png"]; 


    } 

} 
@catch (NSException *exception) { 
    NSLog(@"Exception Error is %@",exception); 

} 
@finally { 

    } 
} 

Заранее спасибо, S.Arul

+0

Где вы определяете 'checkButton'' pLblCabType' 'pLblTariff'? и почему вы удаляете subviews из представления ячейки, если оно отменено, а затем присваивает им значения? –

+0

Я создаю кнопку проверки, PLblCabType, PlblTariff в ячейку suview. –

+0

вы создали подкласс UITableViewCell? –

ответ

0

Вам нужно будет создать пользовательский Cell View, и добавьте к нему свою кнопку и другие ярлыки. Существует несколько способов сделать это. Отметьте это tutorial, как сделать ячейки прототипа, если вы используете раскадровки (надеюсь, вы это делаете), и this, если вы используете xib-файлы.

1

Попробуйте изменить ниже cellForRowAtIndexPath метода: -

- (UITableViewCell *)tableView:(UITableView *)tv cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
UITableViewCell *cell = [tv dequeueReusableCellWithIdentifier:@"CellWithSwitch"]; 
if (cell == nil) { 
    cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"CellWithSwitch"] autorelease]; 
    cell.selectionStyle = UITableViewCellSelectionStyleNone; 
    cell.textLabel.font = [UIFont systemFontOfSize:14]; 

     cell.accessoryType = UITableViewCellAccessoryCheckmark; 
} 

return cell; 
+0

Спасибо за ваш ответ, но мне нужен специальный флажок типа флажка в левой части ячейки. –

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