ios - animate - uiviewpropertyanimator



iOS-從底部填充UIBezier路徑的動畫 (1)

我有一個UIBezierPath自定義UIViewdraw() 。 我想填充這個路徑,讓我們從下到上說一個矩形。 我怎樣才能實現這一點。

這裡我已經看到使用CAShapeLayer它可能。 這是工作正常的動畫,但填充不是從底部到頂部矩形上發生。 請指導。


這是你要求的嗎?

func zoom() {
    let startPath = UIBezierPath(rect: CGRect(x: 0, y: self.frame.size.height-30, width: self.frame.size.width, height: 30))
    let endPath = UIBezierPath(rect: CGRect(x: 0, y: 0, width: self.frame.size.width, height: self.frame.size.height))

    let rectangleLayer = CAShapeLayer()
    rectangleLayer.path = startPath.cgPath
    rectangleLayer.fillColor = UIColor.cyan.cgColor
    self.layer.addSublayer(rectangleLayer)

    let zoomAnimation = CABasicAnimation()
    zoomAnimation.keyPath = "path"
    zoomAnimation.duration = 2.0
    zoomAnimation.toValue = endPath.cgPath
    zoomAnimation.fillMode = kCAFillModeForwards
    zoomAnimation.isRemovedOnCompletion = false
    rectangleLayer.add(zoomAnimation, forKey: "zoom")
}




core-graphics