0

У меня вопрос. У меня есть кнопка внутри CellView Cell, которая перемещается, когда ее касаются в первый раз. Вот «перемещение» Код:Stop CollectionView для создания новых кнопок при прокрутке

[UIView animateWithDuration:0.5 animations:^{ 
    _button.frame = CGRectMake(80,112,30,20); 
}]; 

Но когда я прокручиваю вниз и прокручивать снова, есть же кнопка создается вновь на старом месте, как я могу это исправить? Кнопка, которая перемещается, все еще там -> кнопка дважды в ячейке. Вот как создается кнопка:

-(UIButton *)button{ 
    _button = [UIButton buttonWithType:UIButtonTypeCustom]; 
    _button.frame = CGRectMake(111,112,30,20); 
    [_button setImage:[UIImage imageNamed:@"button.png"] forState:UIControlStateNormal]; 
    _button.backgroundColor = [UIColor clearColor]; 
    [_button addTarget:self 
       action:@selector(decMethod) 
     forControlEvents:UIControlEventTouchUpInside]; 
    return _button; 
} 

и здесь CollectionView Cell:

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView   cellForItemAtIndexPath:(NSIndexPath *)indexPath { 
    CHTCollectionViewWaterfallCell *cell = 
    (CHTCollectionViewWaterfallCell *)[collectionView  dequeueReusableCellWithReuseIdentifier:CELL_IDENTIFIER 
                      forIndexPath:indexPath]; 

[cell addSubview:cell.buttonInc]; 


return cell; 
} 

спасибо!

ответ

0

UICollection будет убивать ячейки не за кадром, если это необходимо для производительности. В вашей ситуации вы можете создать NSMutableArray для записи всех перемещающих историю ячеек. Если одна ячейка уже перемещена, установите YES в соответствующий индекс массива. прежде чем вы активируете свою кнопку, просто проверьте массив, чтобы найти, был ли он перемещен.

+0

Это не сработает, CollectionView по-прежнему добавляет случайно новую кнопку в своем первом положении – seniorbenelli

+0

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

+0

ok, я получил ее! спасибо – seniorbenelli