2015-09-23 5 views
0

Я пытаюсь увеличить круговое изображение профиля, когда пользователь нажимает на него, а затем, когда он нажимает где-нибудь еще на экране, тогда изображение должно вернуться к нормальному размеру. Масштабирование в обоих направлениях должно быть анимировано.iOS масштаб вниз анимация

Это код, который я использую, чтобы увеличить ImageView:

CGRect frame = CGRectMake(0, 0, 200, 200); 
    imageView.frame = frame; 
    imageView.transform = CGAffineTransformMakeScale(0, 0); 
    [UIView animateWithDuration:0.5 animations:^{ 
     imageView.transform = CGAffineTransformMakeScale(1, 1); 
    }]; 

код, чтобы вернуть его к нормальному размеру:

CGRect frame = CGRectMake(0, 0, 50, 50); 
    imageView.frame = frame; 
    imageView.transform = CGAffineTransformMakeScale(1, 1); 
    [UIView animateWithDuration:0.5 animations:^{ 
     imageView.transform = CGAffineTransformMakeScale(0, 0); 
    }]; 

Расширение работает нормально, но сворачивают является не анимированные. Он просто исчезает. Может ли кто-нибудь помочь?

ответ

2

Try без установки рамки для представления изображения и просто установив преобразования, как это расширение:

[UIView animateWithDuration:0.5 animations:^{ 
     _settingsProfilePlaceholderImageView.transform = CGAffineTransformMakeScale(2, 2); 
    }]; 

Для контракта:

[UIView animateWithDuration:0.5 animations:^{ 
     _settingsProfilePlaceholderImageView.transform = CGAffineTransformMakeScale(1, 1); 
    }]; 
+0

Большое спасибо за предложение. Это сработало! –

0

Попробуйте это во второй анимации:

CGRect frame = CGRectMake(0, 0, 50, 50); 
self.imageView.frame = frame; 
self.imageView.transform = CGAffineTransformMakeScale(4, 4); 
[UIView animateWithDuration:0.5 animations:^{ 

     self.imageView.transform = CGAffineTransformMakeScale(1, 1); 
}]; 
+0

Спасибо, что ответили. Но поведение по-прежнему остается прежним. –

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