2014-09-26 5 views
1

HI Am Работает на UICollectionViewCell, в моем представлении коллекции Всего 9 ячеек, я хотел бы добавить значок Значка на CollectioviewCell по индексу '1'. каждый раз, когда я обновляю Значок со значением int, используя действие buttion. Проблема в первый раз, когда я обновил значение значка от UIbutton Action, первый раз Это хорошо работает, но во второй раз я обновил показания значков на 8-й ячейке, снова обновил значки на 7-й ячейке, снова обновил шоу на 1-й позиции, my Sample Code is hereUICollectionviewCell не обновляется на ios 7

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

+0

Пожалуйста, покажите нас ваши методы создания вашей клетки и ваш значок mplementation "в коде;) –

+0

@Zil У вас есть ссылка на код –

+0

, почему вы удалили' [cell.badge removeFromSuperview]; '? –

ответ

0

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

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath 
{ 

    cell = (HomeCollectionView *) [collectionView_ dequeueReusableCellWithReuseIdentifier:identifier forIndexPath:indexPath]; 
    cell.backgroundColor = [UIColor lightGrayColor]; 
    cell.CellImageView.image = [UIImage imageNamed:@"Mahasivaratri-Lord-Shiva.jpg"]; 
    cell.title.text= [NSString stringWithFormat:@"%d",indexPath.row]; 
    cell.badge.tag = indexPath.row; 
    //add this 2 lines 
    cell.badge.text = @""; //reset the text 
    cell.badge.frame = CGRectMake(cell.bounds.size.width-25,5,25,25); //and also frame of badge 
    // 
    if (indexPath.row == 1) 
    { 
      NSLog(@"unreadMessages---- Menu --- %d and Indexpath-- %ld",UnreadMessages,(long)indexPath.row); 
      NSInteger width = [self autoBadgeSizeWithString:[NSString stringWithFormat:@"%d",UnreadMessages]]; 
      cell.badge.frame = CGRectMake(cell.frame.size.width-35, -10,width, 25); 
      cell.badge.text = [NSString stringWithFormat:@"%d",UnreadMessages]; 
      NSLog(@"cell frame --- %@",cell.badge); 
    } 
    else 
    { 
     //other code 
    } 
    return cell; 
} 
+0

Thanq, его рабочий –