我正在尝试在 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
最佳答案
addLineToPoint
中不涉及动画.构造 UIBezierPath 的所有其他方法也是如此。
如果您查看文档,您正在谈论的方法在“ 构造路径”部分下。它所做的只是在模型中的点添加一条线(它甚至还没有在屏幕上绘制)。
您可以通过调用 fill
绘制整个贝塞尔路径或 stroke
在它里面一个drawRect:
某些 View 的方法,但这也不会为任何东西设置动画。
在我看来,您既要为该路径的描边设置动画,又要在完成后获得回调。如果是这样,您应该创建一个 CAShapeLayer 并将您的贝塞尔路径分配给它的路径属性。然后你可以通过动画 strokeEnd
来动画那个形状层的描边。属性从 0 到 1。如果您将自己配置为该动画的代理,那么您将获得 animationDidStop:finished:
动画完成后回调。
关于objective-c - 在 UIBezierPath addLineToPoint 的末尾运行一些代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13317330/