相关疑难解决方法(0)

Objective-C - 动画后应用更改的CABasicAnimation?

我正在使用CABasicAnimation移动和调整图像视图的大小.我希望将图像视图添加到superview,动画,然后从superview中删除.

为了实现这一点,我正在监听我的委托调用CAAnimationGroup,并且一旦调用它,我就从superview中删除图像视图.

问题是有时图像在从超视图中移除之前在初始位置闪烁.什么是避免这种行为的最佳方法?

CAAnimationGroup *animGroup = [CAAnimationGroup animation];
    animGroup.animations = [NSArray arrayWithObjects:moveAnim, scaleAnim, opacityAnim, nil];
    animGroup.duration = .5;
    animGroup.delegate = self;
    [imageView.layer addAnimation:animGroup forKey:nil];
Run Code Online (Sandbox Code Playgroud)

core-animation objective-c

60
推荐指数
2
解决办法
4万
查看次数

CABasicAnimation旋转返回原始位置

我正在使用CABasicAnimation旋转CALayer并且工作正常.问题是,当我尝试旋转同一层时,它会在旋转之前返回到原始位置.我的预期输出是,对于下一轮,它应该从它结束的地方开始.这是我的代码:

CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"transform.rotation"];
animation.fromValue         = 0;
animation.toValue           = [NSNumber numberWithFloat:3.0];
animation.duration          = 3.0;
animation.timingFunction    = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
animation.removedOnCompletion = NO;
animation.fillMode          = kCAFillModeForwards;
animation.autoreverses      = NO;
[calayer addAnimation:animation forKey:@"rotate"];
Run Code Online (Sandbox Code Playgroud)

我的代码上有什么遗漏?谢谢

rotation calayer cabasicanimation ios

3
推荐指数
1
解决办法
7573
查看次数