我在swift中制作条形码扫描仪,我想在条形码区域添加一条带有水平红线的动画,我希望这条线上下移动......
我用calayer尝试了几个代码......我可以画画,但我不知道如何移动它(重复一次)
你可以帮帮我吗?drawLine(onLayer: view.layer, fromPoint: CGPoint(x:100, y:100), toPoint: CGPoint(x:400, y:100))
func drawLine(onLayer layer: CALayer, fromPoint start: CGPoint, toPoint end: CGPoint) {
let line = CAShapeLayer()
let linePath = UIBezierPath()
linePath.move(to: start)
linePath.addLine(to: end)
line.path = linePath.cgPath
line.fillColor = nil
line.opacity = 1.0
line.strokeColor = UIColor.red.cgColor
layer.addSublayer(line)
}
答案 0 :(得分:1)
您可以使用绘制基本UIView
绘制线条,或者像您一样绘制任何其他方式。然后移动它,您可以使用UIView.animation
只是一个用于移动UIView
的简单代码(不确定是否可以使用此移动任何其他东西);
UIView.animate(withDuration: 0.2, delay: 0, options: [.autoreverse, .repeat], animations: {
self.view.transform = CGAffineTransform(translationX: newX, y: newY)
}, completion: nil)