Swift ile basit bir UIBezierPath
animasyon yapıyorum. Bu yol, renkli bir kenarlıkla yuvarlak bir dikdörtgen oluşturmaktan oluşur. Animasyon, renkli kenarlığın çizimi olmalıdır. Bunu yapmak için, ben İyi çalışan bir UIBezierPath(roundedRect:, cornerRadius:)
Swift: UIBezierPath Strok Animasyon Merkezi'nden
let layer = CAShapeLayer()
var viewPrueba = UIView()
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
viewPrueba = UIView(frame: CGRectMake(self.view.frame.width/2-100, self.view.frame.height/2 - 100, 200, 200))
self.view.addSubview(viewPrueba)
let path = UIBezierPath(roundedRect: CGRectMake(0, 0, 200, 200), cornerRadius: 40.0)
layer.path = path.CGPath
layer.fillColor = UIColor.clearColor().CGColor
layer.strokeColor = UIColor.blueColor().CGColor
layer.strokeStart = 0.0
layer.strokeEnd = 0.0
layer.lineWidth = 4.0
layer.lineJoin = kCALineJoinRound
viewPrueba.layer.addSublayer(layer)
let tapGR = UITapGestureRecognizer(target: self, action: #selector(ViewController.anim))
self.view.addGestureRecognizer(tapGR)
}
func anim() {
let anim1 = CABasicAnimation(keyPath: "strokeEnd")
anim1.fromValue = 0.0
anim1.toValue = 1.0
anim1.duration = 4.0
anim1.repeatCount = 0
anim1.autoreverses = false
anim1.removedOnCompletion = false
anim1.additive = true
anim1.fillMode = kCAFillModeForwards
self.layer.addAnimation(anim1, forKey: "strokeEnd")
}`
ile CAShapeLayer
oluşturduk. Tek sorun, animasyonun üst merkezden değil, karenin sol üst kısmından başlamasıdır. Bunu nasıl yapabilirim?
Bunu başarmak için bulduğum tek şey, istediğimiz gibi olmayan bir dikdörtgenle değil, bir daire ile yapmaktır.
Teşekkür UIBezierPath çizildi hangi ile aynı sipariş olarak animasyonlu
Çekicilik gibi çalışır! Teşekkür ederim! :) – rulilg