iOS 缩小动画
iOS scale down animation
我试图在用户点击圆形轮廓图像视图时放大它,然后当他点击屏幕上的其他任何地方时,图像视图必须恢复到正常大小。必须在两个方向上缩放动画。
这是我用来放大图像视图的代码:
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);
}];
放大时效果很好,但缩小时没有动画效果。它就这样消失了。有人可以帮忙吗?
在第二个动画中试试这个:
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 = .identity
}];
尝试不设置图像视图的框架,而是像这样设置变换以展开:
[UIView animateWithDuration:0.5 animations:^{
_settingsProfilePlaceholderImageView.transform = CGAffineTransformMakeScale(2, 2);
}];
签约:
[UIView animateWithDuration:0.5 animations:^{
_settingsProfilePlaceholderImageView.transform = CGAffineTransformMakeScale(1, 1);
}];
我试图在用户点击圆形轮廓图像视图时放大它,然后当他点击屏幕上的其他任何地方时,图像视图必须恢复到正常大小。必须在两个方向上缩放动画。
这是我用来放大图像视图的代码:
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);
}];
放大时效果很好,但缩小时没有动画效果。它就这样消失了。有人可以帮忙吗?
在第二个动画中试试这个:
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 = .identity
}];
尝试不设置图像视图的框架,而是像这样设置变换以展开:
[UIView animateWithDuration:0.5 animations:^{
_settingsProfilePlaceholderImageView.transform = CGAffineTransformMakeScale(2, 2);
}];
签约:
[UIView animateWithDuration:0.5 animations:^{
_settingsProfilePlaceholderImageView.transform = CGAffineTransformMakeScale(1, 1);
}];