iOS, почему мой UIImageView в ячейке представления коллекции не отвечает на преобразование масштаба должным образом?

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

я пытаюсь UIView's animateWithDuration: и я пытаюсь масштабировать преобразование иконки на 1,2, чтобы увеличить его, а затем установить его на идентичность, чтобы сделать его оригинальным размером. Я использовал такой код раньше с обычными изображениями, и он, кажется, работает.

Я получаю странное поведение, когда изображение внутри ячейки масштабируется, как будто оно закреплено левым верхним углом. Однако, когда он масштабируется обратно к идентичности, он делает это так, как будто он масштабируется от центра (как и следовало ожидать, он будет себя вести). В результате происходит неприятное смещение центра изображения от одной позиции к другой между двумя анимациями.

Как правильно масштабировать изображения в UICollectionViewCells?

-(void)setSelected:(BOOL)selected
{

    [super setSelected:selected];
    if(selected)
    {
        //I tried this, does not seem to do anything
        self.icon.layer.anchorPoint = CGPointMake(0.5, 0.5);

        [UIView animateWithDuration:0.3 animations:^{
            self.icon.transform = CGAffineTransformMakeScale(1.2, 1.2);

        } completion:^(BOOL finished) {

            [UIView animateWithDuration:0.4 animations:^{
                self.icon.transform = CGAffineTransformIdentity;
            }];
        }];

       DLog(@"selected");
    }else
    {
        DLog(@"unselected");
    }

}

0 ответов

Другие вопросы по тегам