1

我正在尝试在 UIBezierPath 动画的 addLineToPoint 完成后运行一些脚本。

这是我的一段代码

    UIBezierPath *path = [UIBezierPath bezierPath];

    CGRect pathRect = CGRectInset(self.animationLayer.bounds, 0.0f, 0.0f);    
// define cgpoint
    CGPoint number1 = CGPointMake(CGRectGetMinX(pathRect), CGRectGetMaxY(pathRect));
    [path addLineToPoint: number1];

在这里我找到了 UIBezierClass 的参考,但我找不到任何指示动画 addLineToPoint 完成的指示符。提前致谢。 http://developer.apple.com/library/ios/#documentation/uikit/reference/UIBezierPath_class/Reference/Reference.html

4

1 回答 1

4

中不涉及动画addLineToPoint。构造 UIBezierPath 的所有其他方法也是如此。

如果您查看文档,您正在谈论的方法在“构造路径”部分下。它所做的只是在模型中的点上添加一条线(它甚至还没有在屏幕上绘制)。

fill您可以通过在某个视图的方法中调用或stroke在其上绘制整个贝塞尔路径,drawRect:但这也不会为任何东西设置动画。


在我看来,您既要为该路径的抚摸设置动画,又要在完成时获得回调。如果是这样,您应该创建一个 CAShapeLayer 并将您的贝塞尔路径分配给它的路径属性。然后,您可以通过将属性从 0 设置为 1 来为该形状层的描边设置动画strokeEnd。如果您将自己配置为该动画的代理,那么您将animationDidStop:finished:在动画完成后收到回调。

于 2012-11-19T13:32:35.690 回答