난 그냥이 정말 작동 UIView의의 왼쪽 상단과 오른쪽 상단 코너 CornerRadius를 설정하기위한 신속한 확장을 작성한 다음 코드 :애니메이션이있는 UIView의 왼쪽 위 및 오른쪽 위 모서리에 대해서만 cornerRadius를 설정하는 방법은 무엇입니까?
extension UIView {
func addCorner(roundingCorners: UIRectCorner, cornerSize: CGSize) {
let path = UIBezierPath(roundedRect: bounds, byRoundingCorners: roundingCorners, cornerRadii: cornerSize)
let cornerLayer = CAShapeLayer()
cornerLayer.frame = bounds
cornerLayer.path = path.cgPath
self.layer.mask = cornerLayer
}
}
하지만 난이가, 애니메이션되고 싶어요 예 : 코드의 문제는 그것이 strokeEnd
재산이되지 않는 것입니다
var pathAnimation: CABasicAnimation = CABasicAnimation.animationWithKeyPath("strokeEnd")
pathAnimation.duration = 1.5
pathAnimation.fromValue = NSNumber(float: 0.0)
pathAnimation.toValue = NSNumber(float: 1.0)
pathAnimation.repeatCount = 10
pathAnimation.autoreverses = true
myShapeLayer.addAnimation(pathAnimation, forKey: "strokeEnd")
그것은하지 않은'당신은 변경해야하지만'자체를 path' strokeEnd'. 직사각형 경로와 둥근 모서리 경로를 번갈아 가며해야합니다. – matt
또한 iOS 11에서'cornerRadius'는 직접 애니메이션 가능하고 레이어는'maskedCorners' 속성을 가지고 있다는 것을 알고 있습니까? 그래서 이것은 기본적으로 하나의 라이너입니다. – matt