标签: caanimation

在UILabel中更改动画文本

I'm setting a new text value to a UILabel. Currently, the new text appears just fine. However, I'd like to add some animation when the new text appears. I'm wondering what I can do to animate the appearance of the new text.

objective-c uilabel ipad caanimation ios

119
推荐指数
8
解决办法
8万
查看次数

UIView动画与CALayers

我正在努力用CALayer概念化动画而不是UIView自己的动画方法.把" 核心动画 "扔进去,好吧,也许有人可以从高层次上清楚地表达这些概念,这样我就可以更好地想象发生了什么,以及为什么我想把UIView动画(我现在很熟悉)迁移到CALayer iPhone上的动画.Cocoa-Touch中的每个视图都会自动获取一个图层.而且,似乎你可以为一个和/或另一个制作动画?!?甚至将它们混合在一起?!?但为什么?线路在哪里?每个人的赞成/赞成是什么?

核心动画编程指南立即跳转到层和计时类,我认为需要退一步,理解为什么这些不同的部分存在以及如何相互关联.

core-animation calayer caanimation uiviewanimation ios

75
推荐指数
4
解决办法
1万
查看次数

立即调用CATransaction完成

我正在尝试在CAAnimation完成后执行完成块.但是,似乎在我的动画完成之前调用了动画块.但动画仍然正确.

[CATransaction begin];
[self.view.layer addAnimation:self.dropAndBounceAnimation forKey:@"appearance"];
[CATransaction setCompletionBlock:completionBlock];
[CATransaction commit];
Run Code Online (Sandbox Code Playgroud)

dropAndBounceAnimation是position.y上的CAKeyFrameAnimation,具有固定的持续时间.

caanimation ios

43
推荐指数
3
解决办法
2万
查看次数

如何为多个属性创建CABasicAnimation?

我有这个代码来动画CALayer元素.

CABasicAnimation *makeBiggerAnim=[CABasicAnimation animationWithKeyPath:@"radius"];
makeBiggerAnim.duration=0.2;
makeBiggerAnim.fromValue=[NSNumber numberWithDouble:20.0];
makeBiggerAnim.toValue=[NSNumber numberWithDouble:40.0];
makeBiggerAnim.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
Run Code Online (Sandbox Code Playgroud)

我的问题是,现在一切正常,我想同时使用同一元素的另一个属性.我见过你可以做添加动画和东西.

我的问题是:

  • 添加剂属性是最好/唯一的方法吗?(一次动画同一对象的多个属性)

谢谢!

animation core-animation caanimation ios

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

制作动画以扩展和缩小UIView

我想创建一个动画,它将通过一个因子调整UIView及其内容的大小.基本上,我想制作一个动画,首先展开视图,然后将其缩小回原始大小.

做这个的最好方式是什么?我尝试过CALayer.contentScale但它根本没有做任何事情.

cocoa-touch caanimation ios

25
推荐指数
3
解决办法
2万
查看次数

如何在iOS应用程序中链接不同的CAAnimation

我需要链接动画,CABasicAnimation或CAAnimationGroup,但我不知道如何做,我唯一做的是所有动画同时执行同一层.

我怎么能这样做?

例如,一个内容设置为汽车图像的图层:

1st:将X点向右移动

第二名:向左旋转90ª

第3名:移动X点

第四步:缩放图层

所有这些动画必须以一种安全的方式执行,但我不能这样做:S

顺便说一句:我不是英国人,对不起,如果我在语法上犯了一些错误:D

core-animation cabasicanimation caanimation

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

需要更好,更简单地理解CATransform3D

请仔细阅读图片.

初始位置 旋转后

所以这是我从一些在线资源获得的代码,它确实改变了我的对象.除此之外,我什么都不懂.我是CATransform3D的新手,想知道它是如何工作的.

CATransform3D transform = CATransform3DIdentity;
transform.m34 = 1.0 / -500;
transform = CATransform3DRotate(transform, 45.0f * M_PI / 180.0f, 0, 1, 0.0f);
_bgView.layer.transform = transform;
Run Code Online (Sandbox Code Playgroud)

我想知道这段代码是如何运行的?为什么我们在m34中设置了一些值?我发现它的某种矩阵甚至让我更加困惑.另外,CATransform3DRotate中的参数是什么 意思?

我想了解但没有进一步.

我想深入了解CATransform3D.请帮助处理任何文章,文档或解释自己.

非常感谢.

calayer catransform3d caanimation ios

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

如何使用CAAnimation进行曲线/圆弧动画?

我有一个用户界面,项目被删除,我想模仿iOS邮件中的"移动到文件夹"效果.将小写字母图标"抛出"到文件夹中的效果.我的将被倾倒在垃圾箱中.

我尝试CAAnimation在图层上使用a 来实现它.据我所知,在文档中我应该能够设置a byValue和a toValue,CAAnimation应该插值.我希望做一个小曲线,所以项目通过项目开始位置的上方和左侧的点.

    CABasicAnimation* animation = [CABasicAnimation animationWithKeyPath:@"position"];
[animation setDuration:2.0f];
[animation setRemovedOnCompletion:NO];
[animation setFillMode:kCAFillModeForwards];    
[animation setTimingFunction:[CAMediaTimingFunction functionWithName: kCAMediaTimingFunctionEaseOut]];
[animation setFromValue:[NSValue valueWithCGPoint:fromPoint]];
[animation setByValue:[NSValue valueWithCGPoint:byPoint]];
[animation setToValue:[NSValue valueWithCGPoint:CGPointMake(512.0f, 800.0f)]];
[animation setRepeatCount:1.0];
Run Code Online (Sandbox Code Playgroud)

我玩了一段时间,但在我看来,Apple意味着线性插值.添加byValue不会计算出漂亮的弧或曲线,也无法通过它为项目设置动画.

我该怎么做这样的动画?

谢谢你给予的任何帮助.

caanimation ios

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

UINavigationController上视图之间的过渡动​​画有多长?

理想情况下,会有某种常量包含此值.

我正在实现具有自己的过渡动画的代码,我希望它们具有与平台过渡动画相同的长度.

cocoa-touch caanimation ios

15
推荐指数
2
解决办法
1万
查看次数

动画期间无法获取CALayer的当前位置

我试图实现一个动画,当你按住一个按钮时,它会向下动画一个块,当你释放时,它会将它动画回原来的位置,但无论如何我都无法获得动画块的当前位置.这是我的代码:

-(IBAction)moveDown:(id)sender{

   CGRect position = [[container.layer presentationLayer] frame];

    [movePath moveToPoint:CGPointMake(container.frame.origin.x, position.y)];

    [movePath addLineToPoint:CGPointMake(container.frame.origin.x, 310)];

    CAKeyframeAnimation *moveAnim = [CAKeyframeAnimation animationWithKeyPath:@"position"];
    moveAnim.path = movePath.CGPath;
    moveAnim.removedOnCompletion = NO;
    moveAnim.fillMode = kCAFillModeForwards;


    CAAnimationGroup *animGroup = [CAAnimationGroup animation];
    animGroup.animations = [NSArray arrayWithObjects:moveAnim, nil];
    animGroup.duration = 2.0;
    animGroup.removedOnCompletion = NO;
    animGroup.fillMode = kCAFillModeForwards;

    [container.layer addAnimation:animGroup forKey:nil];
}
-(IBAction)moveUp:(id)sender{
     CGRect position = [[container.layer presentationLayer] frame];

    UIBezierPath *movePath = [UIBezierPath bezierPath];

    [movePath moveToPoint:CGPointMake(container.frame.origin.x, position.y)];

    [movePath addLineToPoint:CGPointMake(container.frame.origin.x, 115)];

    CAKeyframeAnimation *moveAnim = [CAKeyframeAnimation animationWithKeyPath:@"position"];
    moveAnim.path = movePath.CGPath;
    moveAnim.removedOnCompletion = NO; …
Run Code Online (Sandbox Code Playgroud)

calayer cakeyframeanimation caanimation ios cgrect

12
推荐指数
1
解决办法
8216
查看次数