gpt4 book ai didi

ios - 在曲线中移动 UIImageview

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:22:43 26 4
gpt4 key购买 nike

我正在尝试添加图像并将其移动到曲线路径上。我有一个值为 0 到 100 的半圆。我想用值移动该图像。

这是我的曲线进度条的图片我想在那条线上旋转指针。

如果我尝试贝塞尔曲线,我将无法发现我的指针。它会从头到尾动画。

Any help how can i animate this.? 

谢谢

enter image description here

最佳答案

使用以下代码片段制作半圆路径。用您需要使用的针替换旋转按钮,并提供移动针的角度。我正在将此代码用于速度计。希望这对您有所帮助。

- (void)spinButton : (UIView *)button : (float)angle
{

button.layer.anchorPoint = CGPointMake(0.5, 0.5);

CABasicAnimation *animation;
animation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];

// just for testing
// angle +=200;

if(angle >=360){angle = 360;}

animation.fromValue = [NSNumber numberWithFloat:lastAngle];
float m = angle/2 * (M_PI/180 );

animation.toValue = [NSNumber numberWithFloat:(m)];
// [CATransaction setValue:[NSNumber numberWithFloat:1.0] forKey:kCATransactionAnimationDuration];
lastAngle = m;
// animation.duration = 1.0f;

// to stop animation at last frame
animation.fillMode = kCAFillModeForwards;
animation.removedOnCompletion = NO;

animation.timingFunction = [CAMediaTimingFunction functionWithName: kCAMediaTimingFunctionEaseInEaseOut];
animation.autoreverses = NO;
[button.layer addAnimation:animation forKey:@"rotationAnimation"];
[CATransaction begin];
// [CATransaction commit];
}

你可以这样调用这个函数:

   [self spinButton:btn :0];
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[self spinButton:btn :50];
});

这样你就可以达到你想要的结果。

关于ios - 在曲线中移动 UIImageview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24280510/

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