我正在谈论当用户按下按钮拍照时的效果,它缩小并移动到工具栏?这一般是如何实现的?
答案 0 :(得分:0)
所以缩小动画是由
实现的 [UIView beginAnimations:@"animationShrink" context:NULL];
[UIView setAnimationDuration:kSlideInAnimationDuration];
flipFlopContainer.transform = CGAffineTransformMakeScale(0.01, 0.01);
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(shrinkAnimationFinished:)];
[UIView commitAnimations];
在shrinkAnimationFinished方法中执行此动画后,您需要定义要跟随的路径并更改视图位置以适应该路径。
请参阅以下线程了解该动画
Resize and move a UIView with Core Animation (CAKeyFrameAnimation)
答案 1 :(得分:0)
您可以通过缩放(应用变换)和移动(动画位置)图像来创建它。
我在this blog post写了一篇类似的动画(iPhone上的Safari中的Open in Background动画)。并非所有代码都是必需的,但它的某些部分对于您尝试的动画非常有用。
你应该
由于您一次执行两个动画,因此可以使用CAAnimationGroup。
由于您要动画制作工具栏,这可能是视图层次结构的另一部分,而不是图像的位置,您可能需要使用类似
的方法- (CGRect)convertRect:(CGRect)rect toView:(UIView *)view
和
- (CGPoint)convertPoint:(CGPoint)point toView:(UIView *)view
转换不同视图之间的坐标。