gpt4 book ai didi

ios - 在另一个 UIImageView 完成后使 UIImageView 动画化

转载 作者:行者123 更新时间:2023-11-29 04:40:50 26 4
gpt4 key购买 nike

我正在尝试制作发牌动画。目前我有两张牌,庄家牌(dCard1)和玩家牌(pCard1)。

应该发玩家牌,一旦发完,就应该发庄家牌。

当前发生的情况是,当我按下发牌按钮时,玩家卡将正确显示动画,但不是等到玩家卡完成动画,而是发牌者卡仅出现在 DealerTo 位置。它没有动画。我是制作动画的新手,任何帮助将不胜感激。

-(void) animateHandsDealt: (Hand*) pHand:(Hand*) dHand{
pCard1= [[UIImageView alloc] initWithFrame:CGRectMake(125, 0, 75, 110)];
dCard1= [[UIImageView alloc] initWithFrame:CGRectMake(125, 0, 75, 110)];

CGFloat start = 0;
CGFloat duration = 1;

CGPoint playerTo = CGPointMake(120, 300);
CGPoint dealerTo = CGPointMake(120, 70);

pCard1.image = [UIImage imageNamed:[[pHand.cardArr objectAtIndex:0 ] imagePath]];
[self.view addSubview: pCard1];
[playerImages addObject:pCard1];

CABasicAnimation *move = [CABasicAnimation animationWithKeyPath:@"position" ];
move.fillMode = kCAFillModeBoth;
move.beginTime = start;
[move setToValue:[NSValue valueWithCGPoint:playerTo]];
[move setDuration:duration];
move.removedOnCompletion = FALSE;
[[pCard1 layer] addAnimation:move forKey:@"position"];


dCard1.image = [UIImage imageNamed:@"back-red-75-1.png"];
[self.view addSubview: dCard1];
CABasicAnimation *move2 = [CABasicAnimation animationWithKeyPath:@"position" ];
[move2 setToValue:[NSValue valueWithCGPoint:dealerTo]];
move2.beginTime = start + duration;
[move2 setDuration:duration];
move2.fillMode = kCAFillModeBoth;
move2.removedOnCompletion = FALSE;
[[dCard1 layer] addAnimation:move2 forKey:@"position"];

}

最佳答案

如果您只是为 View 的框架设置动画,则可以使用更简单的 UIView animateWithDuration... 方法。

您可以使用 animateWithDuration:animations:completion: 版本来链接它们。您可以在第一个动画的completion: block 中指定第二个动画。

http://developer.apple.com/library/ios/#documentation/uikit/reference/uiview_class/UIView/UIView.html#//apple_ref/doc/uid/TP40006816-CH3-SW109

关于ios - 在另一个 UIImageView 完成后使 UIImageView 动画化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10419482/

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