Swift 仅在视图/图层范围内的动画路径

Swift 仅在视图/图层范围内的动画路径,swift,animation,uikit,core-animation,Swift,Animation,Uikit,Core Animation,我有一个屏幕的一半。点击该视图,我创建一个CAShapeLayer,然后设置其路径动画,如下所示: let animation = CABasicAnimation(keyPath: "path") animation.toValue = endShape animation.duration = 0.7 animation.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionLinear)

我有一个屏幕的一半。点击该视图,我创建一个CAShapeLayer,然后设置其路径动画,如下所示:

let animation = CABasicAnimation(keyPath: "path")
    animation.toValue = endShape
    animation.duration = 0.7
    animation.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionLinear) // animation curve is Ease Out
    animation.fillMode = kCAFillModeBoth
    animation.isRemovedOnCompletion = true
但问题是形状层超出了视图的边界。 有可能把它限制在规定范围内吗

我还尝试改变masksToBounds属性,但没有成功

我找到了答案 基本上,我有一个错误的视图/层层次结构。 masksToBounds属性应该在superlayer上设置,但我在动画层本身设置了它

如果你接受这个答案(你自己的),那么其他人就会知道这个问题已经得到了回答。