iphone - 如何使用 iPhone UIImageView 链接缩放动画?

标签 iphone animation transform scale

我正在尝试缩小图像,更改图像,然后将其放大。

CABasicAnimation* shrink = [CABasicAnimation animationWithKeyPath:@"transform.scale"];
shrink.toValue = [NSNumber numberWithDouble:0];
shrink.duration = 1;
    shrink.delegate = self;
    [myImageView.layer addAnimation:shrink forKey:@"shrink"];   

进行收缩,然后当它完成时,我更改图像,并开始增长:

- (void)animationDidStop:(CAAnimation *)theAnimation finished:(BOOL)flag 
{
    myImageView.image = [images objectAtIndex:image];
CABasicAnimation* grow = [CABasicAnimation animationWithKeyPath:@"transform.scale"];
grow.toValue = CGAffineTransformMakeScale(1,1);
    grow.delegate = self;
grow.duration = 1;
[myImageView.layer addAnimation:grow forKey:@"grow"];   
}

这在模拟器上效果很好,但在设备上,当收缩完成时,我会看到全尺寸的旧图像,然后增长动画从新图像开始。

知道如何消除闪光吗?

(我尝试过“removedOnCompletion = NO;”并尝试将 affineTransform 设置为等于第一次完成后缩小的尺寸,但运气不佳。)

任何提示表示赞赏。

kb

编辑:

太棒了!设置以下内容:

shrink.fillMode = kCAFillModeForwards; 
shrink.removedOnCompletion = NO; 

删除了闪烁。谢谢,本!

最佳答案

尝试将动画的 fillMode 设置为 kCAFillModeForwards。这应该使项目保持在动画结束时的状态,而不是之前的状态。

关于iphone - 如何使用 iPhone UIImageView 链接缩放动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/617992/

相关文章:

Iphone 在滚动中定义多个 ui 组件的最佳方式

ios - 无法在iOS中设置准备segue

javascript - 像 Accordion 一样隐藏和显示内容的 CSS 动画

css - 使用 'transform' 、 '-webkit-background-clip: text' 和 'color:transparent' 时 Chrome 69 不起作用

javascript - div变换后定位内容

iphone - 如何设置 UIToolbar 色调并保持黑色半透明风格的半透明?

iphone - 使用ios 4创建的应用在ios 6中崩溃且未安装

javascript - 如何在使用 jQuery 单击一个主体后停止动画

unity3d - 如何在动画选项卡中添加一个空关键帧

jquery - CSS3 变换scale() 确实对一些元素进行像素化