2017-06-15 99 views
0

我用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

您可以绘制基本的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) 
+0

太棒了!谢谢 – Olivier

+0

如果你不能工作,请告知,然后我可以帮助你更多。如果确实有效,请不要忘记接受这个答案! :) – Faruk

+0

对我来说没关系......感谢您的帮助! – Olivier