gpt4 book ai didi

iOS 动画贝塞尔曲线/正弦曲线

转载 作者:可可西里 更新时间:2023-11-01 05:22:19 25 4
gpt4 key购买 nike

我希望在 iOS 的循环中为单线贝塞尔曲线制作动画。我脑海中的想法类似于 Siri 之前 iPhone 4 上的语音控制屏幕。曲线不需要对任何东西使用react,即。音频、麦克风等,只需要从屏幕左到屏幕右循环,改变曲线的幅度即可。

我已经尝试了几个测试,这是我最接近的测试: IOS : Animate transformation from a line to a bezier curve

我需要知道如何为实际曲线设置动画,使其看起来好像在移动,而不仅仅是上下移动。

如果有人对此有所了解,那就太棒了!

谢谢!

最佳答案

哇,我今天做了完全一样的事情。 :)检查这个:

所以我绘制波浪的 View 被初始化为:

_self_view = [[TDTWaveView alloc] initWithFrame:CGRectMake(-320, 174, 640, 200)];

然后在我的 viewDidLoad 中,我调用了一次 [self animateWave];

- (void)animateWave {
[UIView animateWithDuration:.5 delay:0.0 options:UIViewAnimationOptionRepeat|UIViewAnimationOptionCurveLinear animations:^{
_self_view.transform = CGAffineTransformMakeTranslation(+_self_view.frame.size.width/2, 0);
} completion:^(BOOL finished) {
_self_view.transform = CGAffineTransformMakeTranslation(0, 0);
}];
}

这为波浪提供了一种您可能想要的线性运动。

就 wave 的代码而言,我将共享 drawrect。

self.yc = 30//The height of a crest.
float w = 0;//starting x value.
float y = rect.size.height;
float width = rect.size.width;
int cycles = 7;//number of waves
self.x = width/cycles;
CGContextRef context = UIGraphicsGetCurrentContext();
CGMutablePathRef path = CGPathCreateMutable();
CGContextSetLineWidth(context, .5);
while (w <= width) {
CGPathMoveToPoint(path, NULL, w,y/2);
CGPathAddQuadCurveToPoint(path, NULL, w+self.x/4, y/2 - self.yc, w+self.x/2, y/2);
CGPathAddQuadCurveToPoint(path, NULL, w+3*self.x/4, y/2 + self.yc, w+self.x, y/2);
w+=self.x;
}
CGContextAddPath(context, path);
CGContextDrawPath(context, kCGPathStroke);

关于iOS 动画贝塞尔曲线/正弦曲线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17533961/

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