Xcode 中的 PaintCode 动画
PaintCode animation in Xcode
我想了解如何在 Xcode 中集成 PaintCode 动画。在我的示例中,我有一个从右到左的球。
我希望动画在应用程序启动时开始,并在您停止停止按钮时停止。
附件中是我到目前为止所做的:
当我运行它returns一个错误:
这里有些地方不对
首先错误的是你的 drawBall
函数是用一个参数定义的,但你从来没有通过 NSTimer
向它传递任何东西。如果要将参数传递给计时器触发函数,则应使用 NSTimer
初始化的 userInfo
参数。
其次,您的 NSTimer
正在尝试调用选择器 "drawBall"
,但您的函数是用参数定义的。因此应该是 "drawBall:"
.
第三,我很确定你函数中的外部参数名称干扰了选择器名称。
尝试将其更改为:
func drawBall(var fraction:CGFloat) {
...
}
还值得注意的是,您可以在 swift just by using the string literal syntax. 中定义选择器,因此您只需在 NSTimer
.
中提供 "drawBall:"
此外,您还需要了解一些其他事项...
- 您永远不会将
fraction
变量传递给您的 drawRect
方法
- 您永远不会调用您的
drawRect
方法(尽管使用 setNeedsDisplay()
执行此操作)
我想了解如何在 Xcode 中集成 PaintCode 动画。在我的示例中,我有一个从右到左的球。 我希望动画在应用程序启动时开始,并在您停止停止按钮时停止。 附件中是我到目前为止所做的:
当我运行它returns一个错误:
这里有些地方不对
首先错误的是你的
drawBall
函数是用一个参数定义的,但你从来没有通过NSTimer
向它传递任何东西。如果要将参数传递给计时器触发函数,则应使用NSTimer
初始化的userInfo
参数。其次,您的
NSTimer
正在尝试调用选择器"drawBall"
,但您的函数是用参数定义的。因此应该是"drawBall:"
.第三,我很确定你函数中的外部参数名称干扰了选择器名称。
尝试将其更改为:
func drawBall(var fraction:CGFloat) {
...
}
还值得注意的是,您可以在 swift just by using the string literal syntax. 中定义选择器,因此您只需在 NSTimer
.
"drawBall:"
此外,您还需要了解一些其他事项...
- 您永远不会将
fraction
变量传递给您的drawRect
方法 - 您永远不会调用您的
drawRect
方法(尽管使用setNeedsDisplay()
执行此操作)