gpt4 book ai didi

iphone - 使用 Core Animation (CAKeyFrameAnimation) 调整和移动 UIView

转载 作者:太空狗 更新时间:2023-10-30 03:41:50 25 4
gpt4 key购买 nike

这可能吗?我可以更改图层的不透明度和位置(中心),但每当我尝试更改大小或原点时,它都不起作用。

    CAAnimationGroup* anigroup = [CAAnimationGroup new];

CGMutablePathRef thePath = CGPathCreateMutable();
CGPathAddRect(thePath, NULL, CGRectMake(0,0, 320, 480));
CGPathAddRect(thePath, NULL, CGRectMake(location.x - 16,location.y-24, 32, 48));
CGPathAddRect(thePath, NULL, CGRectMake(190, 20, 32, 48));


CAKeyframeAnimation* AniLoc = [CAKeyframeAnimation animationWithKeyPath:@"frame"];
AniLoc.path = thePath;
AniLoc.keyTimes= [NSArray arrayWithObjects:[NSNumber numberWithFloat:0.0f],
[NSNumber numberWithFloat:0.3f],
[NSNumber numberWithFloat:1.0f],nil];
AniLoc.duration = 5;

CFRelease(thePath);

anigroup.animations = [NSArray arrayWithObjects:AniLoc,nil];
anigroup.duration = 5;

[focusview.layer addAnimation:anigroup forKey:nil];

最佳答案

您可以在动画中更改 View 或层的大小和位置,但您需要作为一个动画组来执行此操作,而不是通过从一系列矩形创建路径。

我在我的回答 here 中提供了一个分组动画示例,它沿路径移动 View ,同时缩小 View 并降低其不透明度。 .这是通过对 View 遵循的弯曲路径使用 CAKeyframeAnimation(仅为其位置设置动画),然后使用基本动画来调整 View 边界的大小来实现的。您还可以在那里使用 CAKeyframeAnimation,为您想要的每个大小关键帧使用多个 CGSize,确保在将它们放入关键帧的 NSArray 之前将它们包装在 NSValue 中。

为了同时为两个属性设置动画,我将这两个动画包装在一个 CAAnimationGroup 中并将其应用到 View 的层。

关于iphone - 使用 Core Animation (CAKeyFrameAnimation) 调整和移动 UIView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1887156/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com