我有一种看法,我想以两种方式进行转变。首先,我想在y轴上移动它。然后,我想放大它。
但是,当我使用以下代码时,对象首先被移动,然后在缩放时又移回到其原始位置。
是否可以在不取消第一个转换的情况下立即应用两个转换?
抱歉,如果这是基本操作,则将不胜感激!
[UIView animateWithDuration:animationDuration
delay:0
options:UIViewAnimationOptionCurveEaseIn
animations:^{
currentCover.transform = CGAffineTransformMakeTranslation(0, 0-keyboardTop+35);
}
completion:^(BOOL finished) {
[UIView animateWithDuration:animationDuration
delay:0
options:UIViewAnimationOptionCurveEaseIn
animations:^{
[currentCover setTransform:CGAffineTransformMakeScale (1.3, 1.3)];
}
completion:^(BOOL finished) { }
];
}
];
最佳答案
您应该将一个变换与另一个变换相乘。每个变换(缩放和平移)都是变换矩阵。要组合它们,只需在使用前将它们彼此简单地复制多个即可。乘法的顺序决定了变换的应用顺序
关于ios - CGAffineTransformMakeTranslation:如何一次应用两个动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7746440/