2016-08-06 4 views
0

나는 이런 식으로하려고합니다. 나는 또한 Swift에서 대답을 찾고있다. 지금까지 나는 CAShapeLayerenter image description here스위프트에서 CAShapeLayer 크기 조정

CAShapeLayer의 경우이 코드를 사용하여 작성했습니다.

let circlePath: UIBezierPath = UIBezierPath(arcCenter: CGPoint(x: 36, y: 47), radius: view.frame.width/2, startAngle: 0, endAngle: CGFloat(M_PI * 2), clockwise: true) 
    let circleShape: CAShapeLayer = CAShapeLayer() 
    circleShape.path = circlePath.CGPath 
    circleShape.fillColor = UIColor.clearColor().CGColor 
    circleShape.lineWidth = view.frame.width - 80 
    circleShape.strokeColor = Color().blue.CGColor 
    circleShape.opacity = 0.87 

잘 작동하고 모양이 좋지만 초기에 (1,1) 원으로 만들고 싶을 때 현재 크기로 확장하면 작동하지 않습니다. 따라서 원을 반경 1에서 180까지 반올림 할 수 있도록 애니메이션 원점을 애니메이트하려고합니다.

+0

그래서 원의 크기를 반경 1의 원에서 최종 크기? ' –

+0

수정하십시오. 최종 반지름은 180입니다. –

답변

1

원을 작은 반경에서 큰 반경까지 애니메이션으로 만들려면 CABasicAnimation을 만들고 싶습니다. 애니메이션의 시작 값을 작은 원 경로로, 끝 값을 큰 경로로 만듭니다. CAShapeLayer Swift animation에서 Google 검색을 수행하면 CAShapeLayer에 설치된 모양에 애니메이션 효과를 적용하는 몇 가지 예를 찾을 수 있습니다. (내가 가진 모든 코드는 Objective-C로 작성되었으며 Swift에서 새로운 예제를 쓸 시간이 없습니다.)

관련 문제