2016-11-17 3 views
0

Вот мой кодДобавить UILabel к определенному indexpath в UICollectionView

- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section{ 
    return 10; 
} 

- (__kindof UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{ 
    CollectionViewCell *cell=[collectionView dequeueReusableCellWithReuseIdentifier:@"dfdsfs" forIndexPath:indexPath]; 

    if (indexPath.item == 0) { 
     UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(10, 10, 100, 50)]; 
     label.text=[NSString stringWithFormat:@"this is item %ld", (long)indexPath.item]; 
     [cell.contentView addSubview:label]; 
     cell.contentView.backgroundColor = [UIColor greenColor]; 

     NSLog(@"im @ zero"); 

    } else { 
     NSLog(@"im here %ld", (long)indexPath.item); 
     cell.contentView.backgroundColor = [UIColor yellowColor]; 

    } 

    return cell; 
} 

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

ответ

0

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

label.tag = 1000; // or other number 

А внутри еще добавить:

[cell.contentView viewWithTag:1000].hidden = YES; 

Проблема заключалась в том, что ячейка в indexPath.item == 0 может быть использована повторно для других указательных путей, и она все еще видна.

Надеюсь, что это имеет смысл.

+0

ответ –

+0

@SunilKumar Добро пожаловать! Это сработало? Если да - примите мой ответ. – ppalancica

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