gpt4 book ai didi

swift - 快速的直线路径

转载 作者:行者123 更新时间:2023-11-30 12:59:52 24 4
gpt4 key购买 nike

我需要帮助,我有这段代码,它正在执行圆形路径,但我需要的是直线,我尝试这样做但不成功。

override func viewDidAppear(animated: Bool) {



super.viewDidAppear(animated)

let orbit = CAKeyframeAnimation(keyPath: "position")
var affineTransform = CGAffineTransformMakeRotation(0.0)
affineTransform = CGAffineTransformRotate(affineTransform, CGFloat(M_PI))
let circlePath = UIBezierPath(arcCenter: CGPoint(x: 150 - (100/2),y: 150 - (100/2)), radius: CGFloat(150), startAngle: CGFloat(0), endAngle:CGFloat(M_PI * 2), clockwise: true)

orbit.circlePath = path.CGPath
orbit.duration = 8
orbit.additive = true
orbit.repeatCount = 0.25
orbit.calculationMode = kCAAnimationPaced
orbit.rotationMode = kCAAnimationRotateAuto

moveobj.layer .addAnimation(orbit, forKey: "orbit")
}

还有一个问题如何做到这一点在完成移动后消失。

谢谢

最佳答案

您可以使用 CAShapeLayer 轻松完成此操作。

    let line = CAShapeLayer()
let linePath = UIBezierPath()
linePath.move(to: CGPoint(x: 100, y: 100))
linePath.addLine(to: CGPoint(x: 300, y: 300))
line.path = linePath.cgPath
line.strokeColor = UIColor.red.cgColor
self.view.layer.addSublayer(line)

首先,创建一个 CAShapeLayer。其次,创建 UIBezierPath 来定义线条的路径。第三,将贝塞尔路径移动到起点。第四,添加贝塞尔路径的终点。第五,将贝塞尔曲线路径应用到CAShapeLayer。第六,应用描边颜色,以便在将其添加为子图层时可以看到线条。最后,将其添加为 View 的子层。

关于swift - 快速的直线路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39974925/

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