[英]Straight line path in swift
我需要帮助,我有这段代码正在做循环路径,但是我需要的是直线,我试图这样做但没有成功。
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来定义行的路径。 第三,将贝塞尔曲线路径移动到起点。 第四,添加贝塞尔曲线路径的终点。 第五,将bezier路径应用于CAShapeLayer。 第六,应用笔触颜色,以便在将其添加为子图层时可以看到该线。 最后,添加它是视图的子层。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.